Quiz-nested quiz game and system therefore

ABSTRACT

One detailed embodiment of a quiz-nested quiz game and system therefore, played by one or by one or more players. Each quiz comprises one information fragment for its answer and one for each clue. A unique identifier is assigned to the information fragments. The uniquely identified information fragments are associated into a quiz structure, wherein non-terminal members are an answer in one quiz and clue in an associated quiz. A system means comprises exposure, guessing and validation means. A user interface is provided. Clues in one quiz can be selectively exposed to the player(s), who can provide a guess at the associated answer. The guess is validated, and, depending on the validation result, the associated answer is exposed as a clue in a different, associated quiz. Other embodiments are described and shown.

CROSS-REFERENCE TO RELATED APPLICATIONS

This nonprovisional application claims the benefit of U.S. ProvisionalPatent Application Ser. No. 60/960,532, filed Oct. 3, 2007.

FEDERALLY SPONSORED RESEARCH

Not Applicable

SEQUENCE LISTING OR PROGRAM

Not Applicable

BACKGROUND

1. Field of Invention

This invention relates to skill games. More specifically, this inventionrelates to a new type of game and system therefore for one or multipleplayers in a computer game, physical media, mixed media, or televisiongame show format.

2. Prior Art

A discussion of the prior art of which the present inventor is aware,and its differences and distinctions from the present invention, isprovided below.

A list of the simpler word puzzles will include “guess-the-phrase”(hangman) and question-and-answer trivia. The solution of such puzzlesfollows a simple logical route, whereby one or more clues lead to thepuzzle answer. Other examples of simple puzzles include prototypicalanagrams and “Name That Tune” type musical quizzes. U.S. Pat. No.5,123,658 to Elfanbaum and Shlomo (1992) describes a concealed-picturepuzzle.

In the classical party game “charades’, a player offers clues to a wordor a phrase by pantomiming the words or similar sounding words. A playermay also decompose words into characters and sign the characters, or usea combination of methods.

Intersecting row and column puzzles such as crossword puzzles and Sudokurequire the solution of all the word or number strings that form adefined puzzle. Solved rows or columns offer clues to other rows andcolumns, but there is no precedence between them. Such puzzles areprogressively solved and are not hierarchical. The main solution to anintersecting row and column puzzle is arbitrarily related to itsconstituent rows and columns and has no independent meaning. Also, itcannot be derived from only a subset of the solved rows and columnscomposing its matrix. The prior art also includes many games whichcombine two or more of the fundamental puzzle types.

U.S. Patent Publication No. 20060175756 of Watson and Riley combines theclassical crossword with the anagram and can include a bonus anagramconstituted from circled letters in the solved crossword. The finalbonus anagram in not a top-level solution but is an additional puzzlethat cannot be solved until the crossword is complete. The bonus anagramis not meant to be solved from only a subset of the underlying clues.

U.S. Pat. No. 6,308,954 to Breeler (2001) and U.S. Patent PublicationNos. 20050218593 of Petry and 20020117802 of Seaberg combine theclassical crossword with word search puzzles. While infusing novelty,these ideas do not make the main puzzle more hierarchical than a typicalcrossword.

Other games have combined some of the simpler skill games previouslymentioned with games of chance. The board game TRIVIAL PURSUIT® combinesquestion and answer trivia with die rolling and random questionselection. The television show WHEEL OF FORTUNE® combines ‘hangman’ witha ‘wheel of fortune’.

U.S. Pat. No. 5,860,653 to Jacobs (1999) discloses a game for televisionor computer play with rows of anagrams at one anagram per row, withtheir row positions fixed relative to one another. When all the anagramsare solved, a word associated with each of the solved anagrams isrevealed vertically through them.

Jacobs does not attach special significance to the solution of thevertical word as being the goal that ends the game. It seems apparentthat before all the anagrams are solved, the vertical word will becomeobvious and thereby provide clues to the remaining anagrams, making thispuzzle somewhat analogous to a crossword puzzle.

Another category is the ‘quest’ games. Examples include scavenger huntsand role playing board games such as DUNGEONS & DRAGONS® and onlinegames such as EVERQUEST® and WORLD OF WARCRAFT™. In these games, real orvirtual articles are accumulated by the participants during anexpedition. These games may include locational clues such as an easteregg hunt, and may culminate in a real or virtual reward, or they mayhave intermediary rewards and continue indefinitely.

Quest-type games sometimes encompass ‘clue finding’, that is, picking upclues along a journey, and puzzle solving. Some games are spectatororiented, such as the children's television show BLUE'S CLUES™, whichcombines clue finding with a final puzzle solution. Variations includetraditional ‘murder mystery’ interactive theatre and Alternate RealityGames (ARG).

U.S. Pat. No. 5,679,075 to Forrest, et al. (1997) discloses aninteractive scavenger hunt combined with puzzle solving in the contextof a narrative supplied by a prerecorded audio visual plot. Gameparticipants solve “visual puzzles”, “physical tricks” or“performer-based puzzles” in order to obtain clues, called “informationfragments”, as well as “directional clues”. There is no indication thatan information fragment is itself the answer to a preceding puzzle. Itseems it is supplied as a reward for solving a preceding puzzle, asreinforced within FIG. 5 of the application of Forrest.

In Forrest, et al., once the information fragments are obtained, theparticipants collectively solve a “meta-puzzle”, most elaborately shownas a two-stage puzzle in FIG. 5 of the application of Forrest. In thepuzzle, adjacent sets of information fragments (clues) are used to solveriddles, the solutions to which are thematically related. It is notedthat the final puzzle solution is not actually derived from the answersin the preceding stage. Instead, solving all of the preceding puzzlesqualifies the participants to call a telephone number. Next, an operatoranswers and asks the participants to recall a visual message that waspresented earlier in the tour. The correct answer is the final puzzlesolution. The concept of a visual recall final puzzle in Forrest.implies the participants have been exposed to the entire tour. As well,Forrest does not impose an hierarchical organization since the finalpuzzle answer is not itself solved from clues obtained at an immediatelypreceeding stage.

Forrest does not indicate a quiz database. Rather, having participantsmanually draw clues as indicated would resist attempts to systematicallyorganize and retrieve quiz information. Furthermore, the puzzles arethematically related. This means that puzzles would have access to onlya subset of all possible quizzes that could lead to the final solution.

As a consequence of both its logical structure and proposed embodiments,Forrest would require considerable effort and expense to generate eachcomplete puzzle or tour, making it a novelty as opposed to a game to beplayed day after day. Gridlock could result since it seems that eitherall or virtually all the available clues would have to be found in orderto have a chance to complete the final puzzle. If a clue were missed,such as the ‘recall’ clue, participants might have to tediouslyrenavigate parts of the tour. Gridlock could also arise if participantscould not solve a necessary riddle, or if they were to miss a timelimit.

The prior art contains examples of puzzles featuring progressivelyrevealed clues. U.S. Pat. No. 6,318,722 to Shafer (2001) discloses agame wherein clues are revealed for sets of words that share a commonfeature. U.S. Pat. No. 6,935,945 to Orak (2005) discloses an Internetgame show version of a concealed-picture puzzle. U.S. Pat. No. 7,275,746to Jensen (2007) discloses a physical media embodiment of acrossword-type puzzle with an opaque cover removably disposed over eachof the concealed completed letter positions. These puzzles lack morethan one level of quiz-solving and are not hierarchical.

U.S. Pat. No. 5,221,094 to Hanson (1993) discloses a physical mediamaster puzzle concealed behind opaque cover up puzzle pieces. The puzzlepieces are categorized on the basis of color. The pieces are removed onthe basis of participants successfully answering question and answertrivia-quizzes. Trivia-quizzes are displayed on accompanying physicalmedia cards. One embodiment is a master puzzle that when solved is apictorially depicted phrase. The removal of each puzzle piece revealsbetween one to four letters, or portions of letters. Since discreetwords or letters are not revealed, nothing more than two levels ofpuzzle-solving is intonated.

With Hanson's invention, trivia answers are not themselves clues to ahigher level puzzle, but rather their solution offers the reward ofbeing able to remove a puzzle piece. That is, the answer to a quiz isdisconnected from the clue that is supplied to the master puzzle.Hanson, like Forrest, does not anticipate an embodiment that would takeadvantage of a quiz database. Furthermore, the information supplied onremoval of each arbitrarily shaped puzzle piece is indiscreet. Thisindicates that Hanson's invention would resist attempts tosystematically organize and retrieve sub-quiz information.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patentdisclosure, as it appears in the Patent and Trademark Office patentfiles or records, but otherwise reserves all copyright rightswhatsoever.

SUMMARY

Described are embodiments of a new type of quiz called a “Quiz-NestedQuiz” or “QNQ”. Described as a game, these embodiments are also ofpotential application in fields including education and testing.Embodiments comprise a plurality of quizzes each comprised of an answerand one or more clues. An answer obtained by solving a “lower” quizresults in a clue being revealed to a one-higher quiz.

Embodiments comprise a repeating pattern of clue and answer wherein thecorrect response to a clue, or question, supplies an answer which yieldsa clue in a one-higher quiz. Clues and answers are organized intoclue/answer pairs. There can be multiple clue/answer pairs terminatingin the same answer. One or more clue/answer pairs terminating in thesame answer is described as a quiz or nested-quiz or sub-quiz.

The detailed embodiment describes how clue/answer pairs can be relatedto one another to provide an hierarchical, multi-level logicalstructure. In the detailed embodiment, the answer to a one-lowerclue/answer pair is, or is equivalent to, a clue to its one-higherclue/answer pair. Clues and answers can be represented as uniquelyidentified information fragments, called “nodes”. A single node cantherefore have a dual purpose. It can be an answer in one quiz, and aclue in another. In other embodiments, not detailed, the answer to aone-lower quiz is not necessarily a clue to a one-higher quiz, butrather its solution reveals a clue to the one-higher quiz. The detailedembodiment shows four node-levels encompassing three-levels of quizsolving.

The quiz structure in the detailed embodiment is described as a“quiz-tree”, comprising associated nodes. A quiz-tree contains quizsub-structures, including quiz chains. A quiz chain is comprised of asequential chain of three or more nodes. Quiz chains help describe theunderlying structure of a quiz-tree. Quiz chains are a basic quizstructure that can be used to describe many embodiments.

DRAWINGS Figures

FIG. 1 portrays a logical structure of a sample iteration of anembodiment of a QNQ with descriptive symbols described in thespecification.

FIG. 2 depicts a part of the user interface for an embodiment of a QNQcalled the “phrase component”. In FIG. 2, the phrase component isdepicted at or near the beginning of a “round”, in a mode called“navigation mode”. A sample phrase is initially masked.

FIG. 3 depicts a part of the user interface called a“quiz-and-word-guessing-selector component”, which takes the form of acomputer menu.

FIG. 4 depicts a part of the user interface called a “trivia-quizcomponent” for typed-text entry of a trivia-quiz answer attempt.

FIG. 5 depicts the trivia-quiz component introduced in FIG. 4 with asample guess input by a player and ready to be submitted.

FIG. 6 depicts the phrase component as it might look after the firstclue on a “quiz-able-word” has been found.

FIG. 7 depicts a one-item computer menu displayed over the phrasecomponent based on a player initiated event. The menu gives the playerin “control” the option to “buy” a “filler-word”.

FIG. 8 depicts a dialog that allows a player to confirm an intention to“buy a word”.

FIG. 9 depicts the phrase component with two clues revealed. One cluewas derived on a quiz-able-word by solving a trivia-quiz. The other clueis represented by a revealed filler-word, and was obtained by “buying aword”.

FIG. 10 depicts the phrase component in “quiz-able-word-guessing mode”as it might look with two quiz-able-word clues revealed and with aplayer in the process of typing in the solution to the firstquiz-able-word.

FIG. 11 depicts the phrase component in phrase-guessing mode for thesample phrase. Previously, two clues were revealed for one of the twoquiz-able-words, that quiz-able-word was solved, a filler-word was“bought”, and two more clues for the other quiz-able-word were revealed.A player is attempting to complete the phrase by inputting the threewords remaining in its solution.

FIG. 12 depicts the phrase component in phrase-guessing mode, with theremaining unrevealed words typed within their respective fields. Theattempted solution is ready to be submitted.

FIG. 13 depicts the phrase component at the end of a round, with thephrase solved.

FIG. 14 uses the nomenclature introduced in FIG. 1. FIG. 14 depicts alogical structure of a sample iteration of an embodiment of a QNQ,including information about the clues revealed to solve the sampleiteration.

FIG. 15 depicts a user interface flow diagram.

FIG. 16 depicts a system architecture for game delivery.

FIG. 17 depicts a class diagram describing the main features of theembodiment.

FIG. 18 shows a sequence diagram for displaying aquiz-and-word-guessing-selector GUI component.

FIG. 19 shows a sequence diagram for displaying a trivia-quiz GUIcomponent.

FIG. 20 shows a sequence diagram for attempting a trivia-quiz.

FIG. 21 shows a sequence diagram describing part one of the sequence fora correct trivia-quiz attempt.

FIG. 22 shows an update-score sequence diagram.

FIG. 23 shows a sequence diagram describing part two of the sequence fora correct trivia-quiz attempt.

FIG. 24 shows a sequence diagram for an incorrect trivia-quiz attempt.

FIG. 25 shows a sequence diagram describing a player passing on makingan attempt at a trivia-quiz.

FIG. 26 shows a sequence diagram for a quiz-able-word attempt.

FIG. 27 shows a sequence diagram for a correct quiz-able-word attempt.

FIG. 28 shows a sequence diagram for an incorrect quiz-able-wordattempt.

FIG. 29 shows a sequence diagram for buying a filler-word.

FIG. 30 shows a sequence diagram for a phrase attempt.

FIG. 31 shows a sequence diagram of an incorrect phrase attempt.

FIG. 32 shows a sequence diagram for a correct attempt at solving aphrase.

FIGS. 33-40 show entity relationship diagrams describing aquiz-generation schema. These schema comprise part of a quiz databaseand are used to build quiz-trees. They also provide quiz data duringgame runtime.

FIG. 41 shows an entity relationship diagram describing a player entityand its relationship to a tree entity.

FIGS. 42-45 show sequence diagrams for building quiz-trees, based on thequiz-generation schema shown in FIGS. 33-40.

FIG. 46 shows a sequence diagram for initializing aguess-the-phrase-phrase-node object.

FIGS. 47 and 48 show sequence diagrams for initializing aguess-the-phrase-word-node object.

FIGS. 49 and 50 show sequence diagrams for initializing atrivia-quiz-answer-node object.

FIG. 51 shows a sequence diagram for initializing atrivia-quiz-question-node object.

FIG. 52 introduces “round” and “match” entities.

FIG. 53 shows a sequence diagram for initializing a match.

FIGS. 54 and 55 show sequence diagrams for initializing a round.

FIG. 56 depicts the quiz-and-word-guessing-selector component with anadditional menu option for a “drill-down clue”.

FIG. 57 depicts the phrase component in navigation mode with an embeddedquiz that is applicable to one of the quiz-able-words in the top-levelphrase.

FIG. 58 depicts the quiz-and-word-guessing-selector component as inmight appear for the quiz-able-word in the embedded quiz. Additionalmenu items are displayed to support additional features and quiz types.

FIG. 59 depicts a form of the trivia-quiz component adapted for multiplechoice input of a trivia-quiz answer attempt.

FIG. 60 depicts the phrase component as it momentarily appears aftersolution of the embedded quiz.

FIG. 61 depicts the phrase component in navigation mode with aquiz-able-word clue that has been revealed by the solution of theembedded quiz.

FIG. 62 depicts a “concealed-picture-quiz component”.

FIG. 63 depicts the phrase component in navigation mode with an embeddedquiz. The embedded quiz has an associated anagram clue.

FIG. 64 depicts the phrase component with an embedded quiz inword-guessing mode and a player in the process of typing an attempt.

FIG. 65 depicts the phrase component in navigation mode in a designvariant that displays unsolved quizzes within the phrase component. Oneclue has been found for a higher-level quiz-able-word, and there arethree clues for a lower-level embedded quiz.

FIG. 66 depicts the phrase component in navigation mode where theembedded quiz itself has an embedded drill-down quiz consisting of asingle quiz-able-word.

FIG. 67 depicts the quiz-and-word-guessing-selector component as itappears over the embedded-embedded drill-down quiz-able-word.

FIG. 68 depicts the phrase component in navigation mode with some cluesobtained for the embedded-embedded drill-down quiz-able-word.

FIG. 69 depicts the phrase component in navigation mode in which theembedded-embedded drill-down quiz-able-word has been solved. Itssolution has become a clue to the first embedded quiz-able-word.

FIG. 70 depicts a hypothetical logical structure of the solution paththat was partially described by FIGS. 68 and 69.

FIG. 71 depicts the quiz-and-word-guessing-selector component as itappears over a quiz-able-word in the phrase component in navigationmode. The menu includes items to support a drill-down ‘guess-the-phrase’quiz type.

FIG. 72 depicts the phrase component in navigation mode with an embeddedguess-the-phrase style of quiz. Quizzes for the embedded quiz areavailable for the entire phrase, and for its quiz-able-words.

FIG. 73 depicts an expanded view of the embedded guess-the-phrase quizfrom FIG. 72.

FIG. 74 depicts a menu of one item for selecting a quiz applicable tothe embedded guess-the-phrase quiz.

FIG. 75 depicts the quiz-and-word-guessing-selector component innavigation mode with the embedded guess-the-phrase style quiz whichitself has an applicable embedded, or ‘embedded-embedded’guess-the-phrase style quiz.

FIG. 76 depicts the embedded-embedded guess-the-phrase style quizintroduced in FIG. 75, in an expanded view.

FIG. 77 depicts a quiz-selector menu that appears over theembedded-embedded guess-the-phrase quiz, and which can be used to selecta phrase-level quiz.

FIG. 78 depicts a “video quiz” user interface component.

FIGS. 79 thru 87 and FIG. 89 depict a “quiz navigator” component of theuser interface in a “branch-view” mode. The quiz navigator allowsplayers to view information about a quiz-tree, and facilitates solving aquiz-tree and its component quizzes. The quiz navigator borrows thenomenclature for describing a QNQ introduced in FIG. 1.

FIG. 88 depicts a player interaction with the quiz navigator menu to‘show all clues’.

FIG. 90 depicts a player interaction with the quiz navigator menu tochange the view from branch-view to “folder-view” mode.

FIGS. 91 thru 94 depict the quiz navigator as it might be used tonavigate a particular quiz-tree domain in folder-view mode.

FIG. 95 depicts components of the user interface as they appear in anintegrated display. The integrated display includes the phrase componentwith a title bar, the quiz navigator, a score and control component, anda match parameters viewing component. Other display components areminimized and available for selection.

REFERENCE NUMERALS

 95 hand-pointer cursor  96 text cursor  97 field border  98 insertioncursor  99 arrow cursor  110 node-level one  112 node-level two  114node-level three  116 node-level four  118 node-level five  120node-level six  130 node-level “n”  140 symbol for top-level answer  141symbol for an association of a revealed clue to an answer  142 symbolfor a revealed node  144 symbol for cognitively solved node  145 symbolfor an association of an  146 symbol for unrevealed node unrevealed clueto an answer  146A an unsolved node  210 phrase component border  212phrase section  214 word-clue section  216A solve-phrase button  216Bsubmit-guess button  216C clear-guess button  216D cancel-guess button 216E point-deduction warning  216F finished label  218A firstfiller-word  218A1 unrevealed first filler-word, with attached hyperlink 218A2 unrevealed first filler-word,  218A4 response to the firstfiller-word without attached hyperlink  218A5 revealed first filler-word 218B second filler-word  218B1 unrevealed second filler-word,  218B5revealed second filler-word with attached hyperlink  218C thirdfiller-word  218C1 unrevealed third filler-word, with attached hyperlink 218C2 unrevealed third filler-word,  218C4 response to the thirdfiller- without attached hyperlink word  218C5 revealed thirdfiller-word  218D first filler-word  218E second filler-word  220A firstquiz-able-word  220A1 unrevealed first quiz-able-  220A4 response to thefirst quiz-able- word, with attached hyperlink word  220A5 revealedfirst quiz-able-word  220B second quiz-able-word  220B1 unrevealedsecond quiz-able-  220B2 unrevealed second quiz-able- word, withattached hyperlink word, without attached hyperlink  220B3 secondquiz-able-word in a  220B4 response to the second quiz- guessing modeable-word  220B5 revealed second quiz-able-  220C1 unrevealed firstquiz-able- word word, with hyperlink  220D1 unrevealed second-quiz-able- 220E1 unrevealed first quiz-able- word, with hyperlink word, withhyperlink  220F1 unrevealed second quiz-able-  222 label indicating cluesection word, with hyperlink  222B label indicating word-clue  228 emptycell section  230A first quiz-able-word-clue cell  230A1 firstquiz-able-word's first clue  230A2 first quiz-able-word's second  230Bsecond quiz-able-word-clue clue cell  230B1 second quiz-able-word'sfirst  230B2 second quiz-able-word's clue second clue  230C firstquiz-able-word-clue cell  230D second quiz-able-word-clue cell  230Efirst quiz-able-word-clue cell  230F second quiz-able-word-clue cell 230G1 first quiz-able-word's first clue  240 embedded quiz  242A solveword button  242B submit-guess button  242C clear-guess button  242Dpass button  244A1 unrevealed quiz-able-word,  244A4 response toquiz-able word with attached hyperlink  244A5 revealed quiz-able-word 246 point-deduction warning  248 label indicating word-clue  250quiz-able-word-clue cell section  252 clue to higher level quiz-able- 254 anagram clue to embedded word quiz  256 quiz question  258 unsolvedpicture puzzle “clue”  260 embedded-embedded drill  262A solve wordbutton down quiz  264A1 unrevealed quiz-able-word  264A5 revealedquiz-able-word with attached hyperlink  266 label indicating word-clue 268 quiz-able-word-clue cell section  270 clue “Shrek”  272 clue “TheHobbit”  274 clue “Bruce Lee”  280 embedded drill down quiz  282phrase-clue section  283 phrase clue section  284 hyperlink to phraseclue(s)  285 hyperlink to phrase clue(s)  286 phrase clue-clue cell  287phrase clue-clue cell  290 embedded-embedded drill  310 top-level menudown quiz  312 word-guess menu option  314 find-a-clue menu option  320submenus  322 trivia submenu  324 drill-down clue submenu  325drill-down clue flyout submenu  330 quiz submenu  332A televisionquiz-category menu option  332A1 number of quizzes in the  332B moviesquiz-category menu “television” category option  332C musicquiz-category menu  332D sports quiz-category menu option option  338buy word menu option  340 top-level menus  342 guess-word menu  344find-a-clue menu  346 cancel-drill-down menu  350 flyout menu  352trivia-quiz menu  354 concealed-picture menu  356 anagram menu  357drill-down-clue menu  358 sound-clip menu  359 video-clip menu  360trivia-quiz submenus  362A television-quiz-category-menu  362Bmovies-quiz-category-menu option option  362C music-quiz-category-menu 362D sports-quiz-category-menu option option  370 top-level menus  372guess-word menu  374 find-a-clue menu  376 cancel-drill-down menu  380flyout menu  382 trivia-quiz menu  384 concealed-picture menu  386anagram menu  388 drill-down-clue menu  390 trivia-quiz submenus  392Atelevision-quiz-category-menu  392B movies-quiz-category-menu optionoption  392C music-quiz-category-menu  392D sports-quiz-category-menuoption option  393 drill-down clues  394A television-quiz-category-menuoption  394B movies-quiz-category-menu  394C music-quiz-category-menuoption option  394D sports-quiz-category menu  396movies-quiz-category-menu option option  397 menus  398Aconcealed-picture menu  398B sound-clip menu  398C video-clip menu  398Dtext-clue menu  410A quiz heading  410A1 trivia-quiz-category  410A2quiz number in the category  410A3 total number of available  410B quizheading quizzes in the category  410C quiz heading for concealed-  412A1quiz question picture puzzle  412A2 quiz question  412A3 quiz question 412A4 quiz question  412B1 quiz question  412C concealed-picture puzzle 414A answer label  414B guess-the-picture label  416 answer-attempttextbox  416A answer-attempt text  416C answer-attempt text  417multiple choice options section  417A multiple choice option  417Bmultiple choice option  417C multiple choice option  417D multiplechoice option  418 point-deduction warning  420 submit button  422clear-answer button  424 pass-guess button  430 remove-a-puzzle-piecelabel  432 spinner with label  434 submit button  436 pass button  470answering-turn-display  472 player column heading component  474A playername  474B player name  474C player name  476 alarm clock icon  478“next” indicator  480 a number of seconds  482 “turn” column heading 510 word-cost warning label  512 word-cost message  514 “yes” button 516 “no” button  610 heading for video clip quiz  620 video clip player 630 guess button  632 pass button  634 replay button  636 next clipbutton  638 close button  710 title bar  720 menu bar  722 view menu 724 options menu  725 “Show Selected Clues . . . ”  726 “Show All Clues. . . ” menu menu item item  727 “Branch View . . . ” menu item  728“Folder View . . . ” menu item  730 navigation device  740 phrase clue 750 clue to first quiz-able-word  752 clue to second quiz-able-word 760A text bubble for phrase clue 740  760B text bubble for clue tofirst quiz-able-word 750  760C text bubble for clue to second  760D textbubble for second quiz- quiz-able-word 752 able-word 220D  760E textbubble for first quiz-able-  760F text bubble 220A for first quiz-word's first clue 230A1 able-word  760G text bubble for sample top- 760H text bubble for first quiz-able- level phrase 1410 word 220C  761first masked word of text  762 second masked word of text bubble 760Ebubble 760E  765 quiz navigator cross-hair  770 folder icon and name forsample top-level phrase 1410  772 folder icon and name for first  774folder icon and name for filler-word 218A second filler-word 218B  776folder icon and name for third  780 folder icon and name for firstfiller-word 218C quiz-able-word 220A  780A open folder icon and name for 782 folder icon and name for first first quiz-able-word 220Aquiz-able-word's first clue 230A1  782A open folder icon and name for 784 folder icon and name for first quiz-able-word's first clue phraseclue 740 230A1  786 folder icon and name for first  786A open foldericon and name for quiz-able-word 220C first quiz-able-word 220C  787folder icon and name for clue  788 folder icon and name for to firstquiz-able-word 750 second quiz-able-word 220D  788A open folder icon andname for  790 folder icon and name for second quiz-able-word 220D secondquiz-able-word 220B  791 “plus” (“+”) sign  789 folder icon and name forclue to second quiz-able-word 752 1420A Categories for word “fly” 1420A1sports category 1420A2 movies category 1420A3 music category 1420A4television category 1420B Categories for word “ointment” 1510 phrasecomponent in 1520 quiz-and-word-guessing- navigation mode selectorcomponent, find-a- clue option 1530 quiz-and-word-guessing- 1540 phrasecomponent in phrase- selector component, guess- guessing mode wordoption 1550 buy filler-word menu, and 1560 trivia-quiz componentconfirmation 1570 phrase component in word- 1580 phrase component infinished guessing mode mode 1590 end of a round 1610 clients 1612desktop computer 1614 notebook or sub notebook computer 1616 handheldgaming device 1618 cell phone/PDA with gaming capabilities 1630 Internetaccess 1640 the Internet 1650 server side components 1652 web server1654 application server 1656 database server 1658 quiz database andassociated 1670 Internet connection schema 1672 network connection 1674network connection 1676 database management 1709 clock (“Clock”) class1710 trivia-quiz-category 1711 node (“Node”) class (“TrivQuizCat”) class1712 tree (“Tree”) class 1713 trivia-quiz-question (“TrivQuizQues”)class 1714 guess-the-phrase-phrase 1715 round (“Round”) class(“GuessThePhrPhr”) class 1716 trivia-quiz-answer 1717guess-the-phrase-word (“TriviaQuizAnswer”) class (“GuessThePhrWd”) class1718 match (“Match”) class 1719 game (“Game”) class 1720 player(“Player”) class 1721 turn-GUI (“TurnGUI”) class 1724control-and-score-GUI 1725 trivia-quiz-GUI (“Cntl&ScoreGUI”) class(“TriviaQuizGUI”) class 1726 quiz-and-word-guessing- 1727buy-filler-word-menu-GUI selector-GUI (“BuyFillerWdMenuGUI”)(“Q_W_GuessSelGUI”) class class 1728 word-guessing mode-GUI 1729navigation-mode-GUI (“WdGuessingModeGUI”) (“NavModeGUI”) class class1730 phrase-guessing-mode-GUI 1731 finished-mode-GUI(“PhrGuessingModeGUI”) (“FinishedModeGUI”) class class 1732phrase-component-GUI 1740 controller class (“PhraseComponentGUI”) class1750 aggregation indicating the 1751 aggregation representing atrivia-quiz-question class child node referencing zero-to- referencingthe trivia-quiz- one parent nodes category class with multiplicities ofone and zero- to-many 1752 aggregation representing a 1753 aggregationindicating the tree parent node referencing zero- class referencing thenode class to-many child nodes with multiplicities of many and one 1754aggregation indicating a round class referencing the tree class withmultiplicities of one and one. 1755 association between game 1756aggregation indicating the class and tree class game class referencingthe trivia-quiz-question class 1757 aggregation indicating that a 1758aggregation indicating that a trivia-quiz-question classtrivia-quiz-answer class instance is a child of exactly instance is aparent to exactly one trivia-quiz-answer class one trivia-quiz-questionclass instance instance. 1759 generalization of 1713 by 1711 1760generalization of 1716 by 1711 1761 generalization of 1717 by 1711 1762aggregation indicating that a trivia-quiz-answer class instance is achild of exactly one guess-the-phrase-word class instance 1763aggregation indicating that a 1764 aggregation indicating that aguess-the-phrase-phrase class guess-the-phrase-word class instance is aparent of one-to- instance is the child of exactly manyguess-the-phrase-word one guess-the-phrase-phrase class instances classinstance 1765 aggregation indicating a game 1766 aggregation indicatinga match class referencing a guess-the- class referencing a player classphrase-phrase class with with multiplicities of one-to- multiplicitiesof one and one many and one. 1767 association between the game 1768association between the game class and the match class with class andthe round class with multiplicities of one and one multiplicities of oneand one- to-many 1769 aggregation indicating the 1770 aggregationindicating that a game class referencing the guess-the-phrase-word classtrivia-quiz-answer class instance is a parent of zero-to- manytrivia-quiz answer class instances 1771 aggregation indicating the 1772generalization of 1714 by 1711 game class referencing theguess-the-phrase-word class 1773 aggregation indicating a match 1774aggregation indicating the class referencing the round game classreferencing the class with multiplicities of player class withmultiplicities one-to-many and one of one-to-many and one 1775aggregation indicating the 1776 association between game game classreferencing the class and turn-GUI class clock class with multiplicitiesof one and one 1777 association between game 1778 aggregation indicatingthe class and control-and-score- round class referencing the GUI classplayer class with multiplicities of one-to-many and one 1779 associationrepresenting all of 1780 association showing the the associationsbetween the controller class accessing the controller class and classesgame class 1725 through 1730 1781 association between game 1782association between the game class and finished-mode-GUI class and thetrivia-quiz-GUI class class with multiplicities of zero-to-many and one1783 association between the game 1784 association between the gameclass and navigation-mode- class and phrase-guessing- GUI class mode-GUIclass 1785 association between the game 1786 association between thegame class and word-guessing- class and the quiz-and-word- mode-GUIclass guessing-selector-GUI class with multiplicities of zero-to- manyand one 1787 association between the game 1788 generalization of 1731 by1732 class and the buy-filler-word- menu-GUI class with multiplicitiesof zero-to-many and one 1789 generalization of 1729 by 1732 1790generalization of 1730 by 1732 1792 generalization 1793 generalization1810 navigation-mode GUI 1812 quiz-and-word-guessing- (“NavModeGUI”)object selector-GUI (“Q_W_GuessSelGUI”) object 1814 Controller object1816 Game object 1818 guess-the-phrase-word 1850get-quiz-and-word-guessing- instance for the guess-the- selectorcomponent phrase-word node (“getQ_W_GuessSelGUI( . . . ) ”) message1850A guess-the-phrase-word node ID 1850B reference to the currentplayer (“GTPWdNdID”) (“player”) 1852 get-trivia-quiz-by-category- 1854validate-control total (“validateControl( . . . ) ”)(“getTrivQuizByCatTot( . . . ) ”) method method 1856 get-node-state 1858condition that the node-state is (“getNodeState( )”) method of availablethe guess-the-phrase-word object 1859 set-active-node 1860get-trivia-quiz-by-category- (“setActiveNode( . . . ) ”) method totalfor the guess-the-phrase-word (“getTrivQuizByCatTot( )”) node method1862 trivia-quiz-by-category-total 1864 display-quiz-and-word-(“trivQuizByCatTot”) array guessing-selector-GUI(“displayQ_W_GuessSelGUI ( . . . ) ”) method 1910 trivia-quiz answerinstance for 1912 trivia-quiz-question object for the trivia-quiz answernode the trivia-quiz-question node (“TQQNd:TrivQuizQues”). 1914trivia-quiz-GUI object 1916 turn GUI object 1950 get-trivia-quiz-GUI1950A category (“cat”) which the next (“getTriviaQuizGUI( . . . ) ”)trivia-quiz is to be selected message from 1952get-trivia-quiz-by-category 1954 next-trivia-quiz-by-category-(“getTrivQuizByCat( . . . ) ”) index message (“nextTrivQuizbyCatIndx( .. . ) ”) method 1956 lookup next-trivia-quiz- 1958 lookuptrivia-quiz-question- answer-node node (“lookupTQQNd( )”)(“lookupNextTQANd ( . . . ) ”) method method 1959 reference to thetrivia-quiz- 1960 getNodeState method of the question node (“TQQNd”).trivia question node 1962 active-node 1962A trivia-quiz-question node ID(“setActiveNode(. . . ”) method (“TQQNdID”) for a trivia-quiz questionnode 1964 get-question-information 1966 close-quiz-and-word-guessing-(“getQuestionInfo( )”) method selector-GUI (“closeQ_W_GuessSelGUI( )”)message 1968 display-trivia-quiz-GUI 1968A trivia-quiz question(displayTriviaQuizGUI( . . . ) ”) message 1968Btrivia-quiz-by-category-index 1968C trivia-quiz-by-category-total(“trivQuizByCatIndx”) (“trivQuizByCatTot”) parameter parameter 1970display-turn-GUI 1970A array of players, in order of (“displayTurnGUI()”) message control (“controlSeq”) 1970B index for the player with 1970Creference to a “clock” object answering privilege (“ansPrivIndex”) 2050submit guess 2050A attempt (“attempt”) (“submitGuess( . . . ) ”) message2052 validate-attempt 2054 validate-answering-privilege(“validateAttempt( . . . ) ”) (“validateAnsPriv( . . . ) ”) messagemethod 2056 lookup-trivia-quiz-answer- 2057 reference to the trivia-quiznode (“lookupTQANd( )”) answer node (“TQANd”) method 2058 get-node-state2059 set-active-node (“getNodeState( )”) method of (“setActiveNode( . .. ) ”) method the trivia-quiz answer node for a trivia-quiz-answer node2059A trivia-quiz-answer node ID 2060 get-valid-answers (“TQANdID”)(“getValidAnswers( )”) method 2061 array of valid answers 2062checkAttempt method (“validAnswers[ ]”) 2110 round object 2112 Matchobject 2140 update-score sequence 2150 set-node-state (“setNodeState( .. . ) ”) message 2150A “answered” value 2152 set-node-state 2154get-answer (“getAnswer( )”) (“setNodeState( . . . ) ”) message method2156 lookup-guess-the-phrase-word- 2158 lookup-guess-the-phrase- node(“lookupGTPWNd( )”) phrase-node method of the trivia-quiz(“lookupGTPPNd( )”) method answer node 2160 reference to the guess-the-2162 set-active-node phrase-phrase node (“setActiveNode( . . . ) ”)method for a guess-the-phrase-phrase node 2162A guess-the-phrase-phrasenode 2164 update-score ID (“GTPPNdID”) (“updateScore( . . . ) ”)messages 2164A points by which the score is to 2165 condition that theplayer who be updated answered the question is not equal to the playerwho currently has control 2166 set-control-index 2168reset-answering-privilege (“setControlIndex( . . . ) ”) index(resetAnsPrivIndex( )”) method method 2250 updateScore method of the2252 get-scores (“getScores( )”) Round object method of the round object2254 update-score 2256 get-scores (“getScores( )”) (“updateScore( . . .) ”) method of method of the match object the match object 2310control-and-score-GUI 2350 close trivia-quiz-GUI (“Cntrl&ScoreGUI”)object (“closeTriviaQuizGUI( )”) message 2352 update-navigation-mode-GUI2352A trivia-quiz answer (“updateNavModeGUI( . . . ) ”) (“triviaAnswer”)message 2354 update-control-and-score-GUI 2354A array of player scoresfor the (“updateCntrl&ScoreGUI( . . . ) ”) round (“round.player.score[]”) message 2354B array of player scores for the 2354C the index for theplayer with match (“match.player.score[ ]”) control (“cntrlIndex”) 2450next-answering-privilege 2452 alternative combination (“nextAnsPriv( )”)fragment 2454 condition that the control index 2456 updatetrivia-quiz-GUI is not the answering-privilege (“updateTrivQuizGUI( . .. ) ”) index message 2458 condition that the control index 2460 closetrivia-quiz-GUI is equal to the answering- (“closeTriviaQuizGUI( )”)privilege index message 2550 pass (“pass( . . . ) ”) message to 2552pass (“pass( . . . ) ”) message to the controller object the game object2553 alternative combination 2610 word-guessing-mode-GUI fragment(“WdGuessingModeGUI”) object 2650 submit-word-guess 2650A word attempt(“wordAttempt”) (“submitWordGuess( . . . ) ”) message 2652validate-word-attempt 2654 get-valid-answers (“validateWordAttempt( . .. ) ”) (“getValidAnswers( )”) method message 2655 array of valid-wordanswers 2656 check-word-attempt (“validWdAnswers[ ]”)(“checkWordAttempt( . . . ) ”) method 2750 set-node-state 2752 getAnswermethod of the (“setNodeState( . . . ) ”) method guess-the-phrase-wordnode of the guess-the-phrase-word node 2753 word answer (“wordAnswer”)2850 next-control (“nextControl( )”) method 2950 buy-filler-word 2952buy-filler-word “buyFillerWord( . . . ) ” message “buyFillerWord( . . .) ” message to controller object to game object 2954buy-filler-word-check 2955 “revealed” value “buyFillerCheck( )”method3010 PhrGuessingModeGUI 3012 guess-the-phrase-phrase object 3050submit-phrase-guess message 3050A phrase-attempt array to the controllerobject 3050B n-th word attempt 3052 submit-phrase-guess message to thegame object 3054 getNodeState method of the 3056lookup-nth-guess-the-phrase- guess-the-phrase-phrase node word nodeobject (“lookupGTPWdNd(n)”) method of the guess-the- phrase-phrase nodeobject 3056A each “n” word in a phrase 3058 loop-combined fragment 3059while condition that the 3060 guess-the-phrase-word object previousattempt for a word was correct 3060A “n-th” guess-the-phrase-word 3062get-nth-word-node-state object (“getNodeState(n)”) method of aguess-the-phrase-word object 3063 condition that an n-th word 3064get-valid-answers node-state is unsolved (“getValidAnswers( )”) methodof the n-th guess-the-phrase- word object 3065 array of valid answers3066 check-word-attempt (“checkWdAttempt( )”) method 3210FinishedModeGUI object 3250 set-node-state method ofguess-the-phrase-phrase object 3250A “answered” parameter 3252 getAnswermethod of the guess-the-phrase-phrase object 3253 phrase answer 3254draw-finished-mode-GUI (“PhraseAnswer[ ]”) message to finished-mode-GUI-object 3310 expression (“Expression”) 3310A (expression ID) entity“ExpressionID” primary key 3310B “NumWords” attribute 3310C“NumQuizzableWords” attribute 3310D “NumNonQuizzableWords” 3310E“IsSuitableForQuestionYN?” attribute attribute 3310F“IsSuitableForAnswerYN?” 3310G “IsSuitableForGuessThePhrase attributeYN?” attribute 3311 canned-quiz (“CannedQuiz”) 3311Aforeign-key-primary-key entity “ExpressionID_Answ” 3311B question-text(“QuestionTxt”) 3311C “TotalCorrectAttempts” attribute attribute 3311D“TotalWrongAttempts” 3312 CannedQuiz_SubjectCategory attribute entity3312A a foreign-key-primary-key 3312B a foreign-key-primary-key columncolumn 3314 SubjectCategory entity 3314A category code (“CategoryCode”)3314B “CategoryDescription” 3350 primary key symbol “PK” attribute 3352a primary-key column 3354 symbol “PF” for a foreign-key- primary-keycolumn 3356 a foreign-key primary-key 3358 cardinality of zero-or-onecolumn 3410 expression-word 3410A a foreign-key-primary-key“ExpressionWord” entity column 3410B word-number-in-expression 3410C“IsDictionaryWordYN?” (“WordNumInExp”) attribute attribute 3410D“IsQuizzableWordYN?” 3410E “IsCapitalizedYN?” attribute attribute 3412ExpressionWordDictWord 3412A foreign-key-primary key entity column,3410A in 3412 3412B foreign-key-primary key 3412C foreign-key-primarykey column, 3410B in 3412 column, 3416A in 3412 3412P composite primarykey 3414 ExpressionWordNonDictWord entity 3414P composite primary key3416 DictionaryWord entity 3416A primary key 3416B word-text “WordTxt”attribute “DictionaryWordID” 3418 NonDictionaryWord entity 3418A primarykey “NonDictionaryWordID” 3418B word-text (“WordTxt”) 3510 Entitydictionary-word - attribute dictionary-word - contains(“DictWd_Dict:Contains”) 3510A a foreign-key-primary-key 3510B aforeign-key-primary-key column of entity 3510 from column of entity 3510from primary key 3416A primary key 3416A 3510P foreign-key-primary-keyof 3511 Entity dictionary-word - entity 3510 dictionary-word - containedby “DictWd_DictWd:ContainedBy 3512 dictionary-word - dictionary- 3514dictionary-word - dictionary- word - alternate spelling word - tense of(“DictWd_DictWd:AlternateSpelling”) (“DictWd_DictWd:TenseOf”) entityentity 3516 dictionary-word - dictionary- 3518 dictionary-word -dictionary- word - abbreviation-or-long- word - root-or-derivative-ofform (“DictWd_DictWd:RootOrDeriv DictWd_DictWd:AbrevOrLong Of”) entityFm entity 3518A a foreign-key-primary-key 3518B aforeign-key-primary-key column of entity 3518 from column of entity 3518from primary key 3416A primary key 3416A 3518P foreign-key-primary-keyof entity 3518 3520 dictionary-word - dictionary- 3522 dictionary-word -dictionary- word - synonym-of word - antonym-of(“DictWd_DictWd:SynonymOf”) (“DictWd_DictWd:AntonymOf”) entity entity3610 ExpWdDictWd_DictWd_Dict 3610A a foreign-key-primary-keyWd:RootOrDerivativeOf entity column of entity 3610 from primary keycolumn 3412A 3610B a foreign-key-primary-key 3610C aforeign-key-primary-key column of entity 3610 from column of entity 3610from primary key column 3412B primary key column 3412C 3610D aforeign-key-primary-key 3610E a foreign-key-primary-key column of entity3610 from column of entity 3610 from primary key column 3518A primarykey column 3518B 3612 ExpWdDictWd_ExpWdDictWd_DictWd_Dict 3612A aforeign-key-primary-key Wd:RootOrDerivativeOf1 column of entity 3612from entity primary key column 3412A 3612B a foreign-key-primary-key3612C a foreign-key-primary-key column of entity 3612 from column ofentity 3612 from primary key column 3412B primary key column 3412C 3612Da foreign-key-primary-key 3612E a foreign-key-primary-key column ofentity 3612 from column of entity 3612 from primary key column 3610Aprimary key column 3610B 3612F a foreign-key-primary-key 3612G a foreignkey column of entity column of entity 3612 from 3612 from primary keycolumn primary key column 3610C 3610D 3612H a foreign key column ofentity 3710 node (“Node”) entity 3612 from primary key column 3610E3710A node ID (“NodeID”) primary 3710B “IsExpressionYN?” attribute key3710C “IsNotAnExpressionYN?” 3710D parent-node-ID attribute(“ParentNodeID”) 3710E node-level (“NodeLevel”) 3710F tree ID (“TreeID”)foreign key attribute 3710J one to zero-or-one self-join 3711one-to-zero-or-one cardinality between entities 3710 and 3712 3712non-expression-node 3712A foreign-key-primary-key of(“NonExpressionNode”) entity entity 3712 3712Bis-it-a-canned-quiz-question- 3712C is-it-a-guess-the-phrase-word-yes-or-no node-yes-or- (“IsCannedQuizQuestionYN?”)no(“IsGuessThePhraseWordYN attribute ?”) attribute 3712Dis-it-a-multi-media-clip-yes-or- 3712E is-it-a-sound-clip-yes-or-no no(“IsMMClipYN?”) attribute (“IsSoundClipYN?”) attribute 3712Fis-it-a-picture-yes-or-no 3712G is-it-a-concealed-picture-(“IsPictureYN?”) attribute puzzle-yes-or-no (“IsConcealedPicturePuzzleYN?”) attribute 3713 one-to-zero-or-one cardinality 3714 expression-nodebetween entities 3710 and (“ExpressionNode”) entity 3714 3714A “NodeID”foreign-key-primary 3714B “ExpressionID” foreign-key- key column inentity 3714 primary key column in entity 3714 3714Cis-it-a-derived-clue-yes-or-no 3714D is-it-the-answer-to-a-canned-(“IsDerivedClueYN?”) quiz-question-yes-or-no attribute(“IsCannedQuizAnswerYN?”) attribute 3714E is-it-a-guess-the-phrase- 3715one-to-zero-or-many phrase-yes-or-no cardinality between entities(“IsGuessThePhrasePhraseYN?”) 3710 and 3714 attribute 3810CannedQuizQuestionNode 3810A foreign-key-primary-key entity column inentity 3810 from 3712A 3810B foreign-key-primary-key 3810Chas-multiple-choice-answer- column in entity 3810 from yes-or-no 3311A(“HasMCAnswerYN?”) attribute 3810D has-text-input-answer-yes-or- 3811one-to-zero-or-one cardinality no between entities 3712 and(“HasTextInputAnswerYN?”) 3810 3812 GuessThePhraseWordNode 3812Aforeign-key-primary-key entity column in entity 3812 from primary key3712A of entity 3712 3812B foreign-key-primary-key 3812Cforeign-key-primary-key column in entity 3812 from column in entity 3812from primary key column 3410A of primary key column 3410B of entity 3410entity 3410 3813 one-to-zero-or-one cardinality 4010 tree (“Tree”)entity between entities 3712 and 3812 4010A tree ID (“TreeID”) primarykey 4010B is-template-yes-or-no “IsTemplateYN?” attribute 4010Caverage-player-rating 4010D tree-created-by-player-ID“AveragePlayerRating” (“TreeCreatedByPlayerID”) attribute foreign keyfrom a player entity 4110 player (“Player”) entity 4110A player ID(“PlayerID”) primary key 4110B first name (“FName”) attribute 4110C lastname (“LName”) attribute 4112 tree-player (“Tree_Player”) 4112Aforeign-key-primary-key entity column referencing primary key 4010A ofentity 4010 4112B foreign-key-primary-key 4112C player-rating-of-treecolumn referencing primary (“PlayerRatingOfTree”) key 4110A of entity4110 attribute 4210 tree-formulator 4250 tree-formula-initialization(“:TreeFormulator”) object method (“initTreeFormulator( )”) 4252insert-tree (“insertTree( )”) 4254 tree ID (“TreeID”) value message 4256select-expression 4256A parameter to select where (“selectExpression( .. . ) ”) “IsSuitableForGuessThePhrase message YN?” attribute 3310G isset to “Y” 4258 values returned from entity 4258A expression ID 3310(“ExpressionID”) value from column 3310A 4258B number of words 4260insert-node (“insertNode( . . . ) ”) (“NumWords”) value from messagecolumn 3310B 4260A parameter to set column 3710B 4260B Other parameterssent with to “Y” message 4260 4260C parameter to set column 3710D 4260Dparameter to set column 3710E to NULL to “1”. 4262 node ID (“NodeID”)4264 insert-expression-node (“insertExpressionNode( . . . ) ”) message4264A parameters of message 4264 to 4264B Parameter to set column” setcolumns 3714C and 3714D 3714E to “Y” both to “N” 4266set-level-one-parent-node-ID 4348 outer loop (“setLevel1ParentNodeID( .. . ) ”) message 4350 select-expression-word 4350A parameterrepresenting the (“selectExpressionWord( . . . ) ”) loop counter message4352 column values from entity 4352A value of column 3410“IsQuizzableWordYN?” 3410D 4352B values of column 4354 insert-node(“insertNode( . . . ) ”) “IsQuizzableWordYN?” message 3410C and 3410E4354A parameter to set column 3710C 4354B other parameters sent with to“Y” message 4354 4354C parent-node-ID 4354D parameter to set column3710E (“parentNodeID”) parameter to to “2” set column 3710D to the nodeID of the parent, top-level node 4356 node ID (“NodeID”) return 4358insert-non-expression-node value (“insertNonExpressionNode ( . . . ) ”)message 4358A parameter to set column 3712C 4358B Other parameters ofmessage to “Y” 4358 to set columns 3712B, and 3712D-3712G to “N” 4360insert-guess-the-phrase-word- 4360A parameter to set column 3812B nodeto the current expression ID of (“insertGuessThePhraseWord the top-levelexpression Node( . . . ) ”) message 4360B parameter to set 3812C to the4450 alt combined fragment counter value “n” representing the wordnumber in the expression 4452 condition that 4454 next (“next(n)”)method or “IsQuizzbleWordYN?” value next statement 4352A is set to “N”,4456 condition that 4457 set-level-two-node-id “IsQuizzbleWordYN?” value(“setLevel2NodeID( . . . ) ”) 4352A is set to “Y” method 4458 loopcombined fragment 4460 reset-level-two-parent-node-ID(“resetLevel2ParentNodeID( )”) method 4461 level-two-node-id parameter4462 select-related-expression (“selectRelatedExpression( . . . ) ”)message 4464 related-expression-id 4466 “selectExpressionID_Answ”(“ExpressionID1”) message 4466A parameter to select column 4468“ExpressionID_Answ” value 3311A from entity 3311 where column 3311A isequal to 4464 4470 method or next statement 4472 condition that checksthat 4468 4550 condition that checks that 4468 in not null is not null4552 insert-node (“insertNode( . . . ) ”) 4552A parameter that setscolumn message 3710B “IsExpressionYN?” to “Y” 4552B Parameter to set4552C parent-node-ID “IsNotAnExpressionYN?” (“parentNodeID”) parametercolumn 3710C to “N” 4552D A parameter to set column 4554 node ID(“NodeID”) 3710E to “3” 4556 insert-expression-node 4556A parameter toset (“insertExpressionNode( . . . ) ”) “ExpressionID” column 3714Bmessage to 4468 4556B parameters to set columns 4556C Parameter to setcolumn 3714C and 3714E to “N” “IsCannedQuizAnswerYN?” 3714D to “Y” 4558set-level-three-parent-node-id 4560 insert-node message(“setLevel3ParentNodeID( . . . ) )” method 4560A parameter to set column4560B parameter to set 3710C, “IsExpressionYN?” 3710B to“IsNotAnExpressionYN?” to “N” “Y” 4560C parent-node-ID 4560D parameterto set column 3710E (“parentNodeID”) parameter to “4” 4562 node ID(“NodeID”) 4564 insert-non-expression-node (“insertNonExpressionNode ( .. . ) ”) message 4564A parameter to set 4564B Other parameters to set“IsCannedQuizQuestionYN?” columns 3712C-3712G to “N” column 3712B to“Y”. 4566 insert-canned-quiz-question- 4566A parameter to set 3810C to“N”, node (“insertCannedQuizQuestionNode ( . . . ) ”) message 4566Bparameter to set column 3810D 4650 initialize-guess-the-phrase- to “Y”phrase-node (“initGTPPNd( . . . ) ”) message 4652 node-id (“NodeID”)4654 select-expression (“selectExpression( . . . ) )” message 4656expression-id 4658 select-number-of-words (“ExpressionID”)(“selectNumWords( . . . ) ”) message 4660 number-of-words 4662initialize-guess-the-phrase- (“NumWords”) word-node-array (“initGTPWNd()”) method 4664 combined loop fragment 4666select-guess-the-phrase-word- node (“selectGTPWNd( . . . ) ”) message4668 parameter to restrict column 4670 node-id (“NodeID”) 3710D to 46524674 add-guess-the-phrase-word- 4750 initialize-guess-the-phrase- node(“addGTPWNd( . . . ) ”) word-node-id method (“initGTPWNd( . . . ) ”)message 4752 node-id (“NodeID”) 4754 select-expression-and-word- number(“selectExpression&WordNum ( . . . ) )” message 4756 returns values 4758parent-expression-id (“ParentExpressionID”) 4760 word-number-in-parent-4762 select-expression-word- expression information(“WordNumInParentExp”) (“selectExpressionWordInfo ( . . . ) ”) message4762A parameter which restricts 4762B parameter which restricts column3410A.with 4758 column 3410B.with 4760 4764 return values 4766expression-id (“ExpressionID”) 4768 word-number-in-expression 4770“IsQuizzableWordYN?” (“WordNumInExp”) 4772 “IsCapitalizedYN?” 4774select-dictionary-word “(selectDictionaryWord( . . . ) ” message 4776Parameter that restricts column 4778 select-word-text 3412A(“selectWordTxt( . . . ) ” message 4780 word-text (“WordTxt”) 4782set-answer (“setAnswer( . . . ) ”) method 4784 condition that the wordis a 4786 set-valid-word-answer quiz-able word (“setValidWdAnswer( . . .) ” method 4850 select-parent-node 4852 parent-node-id(“selectParentNode( . . . ) ”) (“ParentNodeID”) message 4854initialize-trivia-quiz-answer- 4856 loop combined fragment node(“initTQANd( )”) method 4858 select-trivia-quiz-answer-node 4860parameter to restrict column (“selectTQANd( . . . ) ”) message 3710D tonode ID 4752 4862 node id 4864 select-expression (“selectExpression( . .. ) ”) message 4866 expression-id 4868 select-category-code(“ExpressionID”) (“selectCategoryCode( . . . ) ”) message 4870 parameterwhich restricts 4872 category-code column 3312A with 4866(“CategoryCode”) 4874 set-trivia-quiz-answer-node 4950initialize-trivia-quiz-answer- (“setTQANd( . . . ) ” method node(“initTQANd( . . . ) ”) message 4952 node-id (“NodeID”) 4954select-expression (“selectExpression( . . . ) )” message 4956expression-id 4958 select-number-of-words (“ExpressionID”)(“selectNumWords( . . . ) ”) message 4960 number-of-words 4962initialize-answer (“NumWords”) (“initAnswer( . . . ) )” method 4964combined loop fragment 4966 select-dictionary-word(“selectDictionaryWord( . . . ) ”) message 4966A parameter whichrestricts 4968 dictionary-word-id column 3412B to the counter(“DictionaryWordID”) representing the word number 4970 select-word-text4972 word text (“WordTxt”) (“selectWordTxt( . . . ) ”) message 4974select-caplitalization 4974A parameter for counter value,(“selectCapitalization( . . . ) ”) which restricts colunm 3410B 4976“IsCapitalizedYN?” 4978 add-to-answer (“addToAnswer( . . . ) ”) method5050 convert-to-string 5052 array of words for the trivia-(“convertToString( . . . ) ” quiz-answer expression method 5054initialize-valid-answers 5056 string-answer (“initValidAnswers( . . . )”) (“stringAnswer”) method 5058 select-guess-the-phrase-word- 5058Aparameter that restricts column node (“selectGTPWNd( . . . ) ”) 3710Awith node id 4952 message 5060 parent-node-id 5062set-guess-the-phrase-word- (“ParentNodeID”) node (“setGTPWNd( . . . ) ”)method 5064 select-trivia-quiz-question- 5064A parameter 5064A thatrestrict node (“selectTQQNd( . . . ) ”) column 3710D with 4952 message5066 node-id (“NodeID”) 5068 set-trivia-quiz-question-node (“setTQQNd( .. . ) ”) 5150 initialize-trivia-quiz-question- 5152 node-id (“NodeID”)node (“initTQQNd( . . . ) ”) message 5154 a select-expression 5156“ExpressionID_Answ” (“selectExpression( . . . ) )” message 5158select-question-text 5160 question text (“QuestionTxt”)(“selectQuestionTxt( . . . ) ”) message 5162 initialize-question 5164select-trivia-quiz-answer-node (“initQuestion( . . . ) ”) method(“selectTQANd( . . . ) ”) method 5166 node-id (“NodeID”) 5168set-trivia-quiz-answer-node (“setTQANd( . . . ) ”) method 5210 round(“Round”) entity 5210A “TreeID” foreign key 5210B “MatchID” foreign-key-5210C round number “RoundNum” primary-key column primary key column5210D “TotalPointsAwarded” 5210E “MaxAvailPoints” attribute attribute5210F “StartDate” attribute 5210G “EndDate” attribute 5210H“PlayerIDToStartRound” 5210I “IsStartedYN?” attribute foreign key 5210J“IsSuspendedYN?” attribute 5210K “IsCompletedYN?” 5212 “Round_Player”composite 5212A “MatchID” primary-key entity column 5212B “RoundNum”primary-key 5212C “PlayerID” primary-key column column 5212D “Score”attribute 5214 match (“AMatch”) entity 5214A “MatchID” primary key 5214B“TotalPointsAvailable” attribute 5214C “TotalPointsAwarded” 5214D“PlayerIDMatchAdmin” foreign key 5214E “IsStartedYN?” attribute 5214F“IsSuspendedYN?” attribute 5214G “IsCompletedYN?” 5216 “AMatch_Player”composite entity 5216A “MatchID” foreign-key- 5216B “PlayerID”foreign-key- primary-key column primary-key column 5216C “Score”attribute 5216D “ControlOrder” attribute 5310 game administrator 5312player object (“Player”) (“GameAdmin <<actor>>”) 5314 match (“Match”)object 5350 initiate-game (“initGame( . . . ) ”) message 5352 array ofplayer IDs of size “P” 5354 number of rounds (“playerID[P]”)(“numRounds”) 5356 array of “R” tree IDs 5358 initilize-control-sequence(“TreeID[R])”) (“initControlSeq( . . . ) ”) 5360 combined loop fragment5362 initialize-player (“initPlayer( . . . ) ”) message 5364 player IDof the counter index 5366 select-player value (“playerID(p)”)(“selectPlayer(p)”) message 5368 reference to the player object 5370add-to-control-sequence (“addToControlseq( . . . ) ”) method 5372initialize-match 5374 control sequence (“initMatch( . . . ) ”) message(“controlSeq”) 5376 insert-match (“insertMatch( )”) 5378 “MatchID” valuemessage 5380 reference to the match object 5450 next-control-sequence(“nextControlSeq( . . . ) ”) method 5452 parameter “r”, the index of the5454 initialize-round current round (“initRound( . . . ) ”) message 5456match ID (“MatchID”) 5458 insert-round parameter (“insertRound( . . . )”) message 5460 tree ID of the round index 5462 index of the currentround plus (“TreeID(r)”). one 5464 round reference 5466 select-top-node(“selectTopNode( . . . ) ”) message 5468 parameter that restricts column5470 node ID (“NodeID”) return 3710E to “1”. value 5472get-number-of-words 5474 initialize-guess-the-phrase- (“getNumWords( )”)message word-GUI-information (“initGTPWGUIInfo( )”) method 5550 combinedloop fragment 5552 get-nth-guess-the-phrase-word- node (“getGTPWNd(n)”)message 5554 node ID (“NodeID”) 5556 reference to the guess-the-phrase-word node 5558 get-guess-the-phrase-word- 5560 return valuesnode-GUI-information (“getGTPWNdGUIInfo( )”) message 5562 word text(“WordTxt”) 5564 is-quiz-able-word-yes-or-no (“IsQuizzableWdYN?”) 5566node state (“nodeState”) 5568 get-word-length (“getWordLength( . . . )”) message 5570 add-guess-the-phrase-word- 5572 length (“wordLength”)GUI-information (“addGTPWGUIInfo( . . . ) ”) method 5574initialize-navigation-mode- 5576 guess-the-phrase-phrase-node- GUI(“initNavModeGUI( . . . ) ”) ID (“GTPPNdID”) message 5578guess-the-phrase-word-GUI- 5580 initialize-control-and-score-information GUI (“GTPWGUIInfo[ ]”) array (“initCntrl&ScoreGUI( . . . )”) message 5582 array of player scores for the 5584 array of playerscores for the round (“round.player.score[ ]”) match(match.player.score[ ]”) 5586 control sequence 5588 index for the playerwith (“controlSeq”) control (“cntrlIndex”) 7010 quiz question for clue“Shrek” 7012 quiz question for clue “The Hobbit” 7014 quiz question forclue “Bruce 9510 phrase component title bar Lee” 9512 phrase component9520 horizontal scroll bar 9530 score-and-control component 9540 quiznavigator component 9550 Match Parameters Display 9560 Pause/Quit Matchbutton component 9562 Score and Control component 9564 Match Parameterscomponent button button 9566 quiz navigator component 9568 Match Historycomponent button button 9570 phrase component button 9572 My PlayerConsole button 9574 Chat component button

DETAILED DESCRIPTION Logical Description—FIG. 1

The detailed embodiment uses “nodes” to relate quiz-data into structuresthat can be persisted and accessed at runtime. Nodes represent uniquelyidentified information fragments that may serve the purpose of a clue oran answer depending on context. The information fragment is the dataassociated with a clue or answer. For a text-based clue or answer itrepresents the text that might be displayed in the interface. A uniqueidentifier is imposed on an information fragment in order to uniquelyrepresent it in the context of one “quiz-tree”. A quiz-tree is moregenerally described as a quiz structure. A general quiz structure and aquiz-tree sub-structure is a node chain. A node chain is comprised bythree or more nodes associated in a linear sequence. Nodes andinformation fragments can be provided by a persistent computer storagemeans, such as a database. Nodes can generally have their informationfragment exposed or unexposed in a game interface. Nodes can be visuallyrepresented as dots. Associations between nodes can be represented byconnecting lines. A quiz-tree represents nodes and their associationsused in a QNQ puzzle. A quiz-tree can be logically depicted as agenealogy or tree root system which brachiates from a single top node. Aone-lower-level node connected node-to-node with a higher level nodecould be called a ‘child’ node of the one-higher-level ‘parent’ node.

The outcome of an iteration of a hypothetical embodiment of a QNQ islogically depicted (FIG. 1). The symbol for a node that is a top-levelanswer 140 is a large hollow circle. It is node that can only be ananswer since it is the final answer to a QNQ puzzle.

In FIG. 1, nodes levels are consecutively numbered from the top level tothe lowest level. In the present discussion, a top level or node-levelone is represented as node-level 1110. Node-level 2 112, node-level 3114, node-level 4 116, and node-level “n” 130 follow.

The symbol for a revealed node 142 is a solid circle. The symbol for anassociation 141 between a revealed, lower node 142, acting as a clue,with another node, acting as an answer, is a thick connecting line.Revealed nodes 142 are generally revealed by supplying a correct answer,except at the bottom-most level of a branch. Revealed nodes 142 at thebottom-most level of a branch represent clues that were supplied by anembodiment for the solution of their one-higher-level answer. They arenodes that serve as clues but are never answers.

The symbol for an unrevealed node 146 is a solid square. The symbol foran association 145 of a lower unrevealed node 146, acting as apotential, or unexposed clue, to an upper node, acting as an answer, isa relatively thin line.

In some cases a revealed node at level “n”, might allow a player tocognitively solve the level-“n−2” node at virtually the same time as thelevel-“n−1” node. In terms of the game interface, a player might chooseto bypass solving the level-“n−1” node and directly solve thelevel-“n−2” node.

In the detailed embodiment which follows, the objective of the game isto solve the top-level answer as efficiently as possible. Therefore,bypassing the level-“n−1” node solution would not be discouraged by thescoring system. A solid oval symbol 144 is used to depict a cognitivelysolved node. It represents a node that was cognitively solved by aplayer, but not formally solved as an answer. Its solution was bypassedin favor of solving the higher, level-“n−2” quiz. Unrevealed nodes 146Arepresent nodes that went unrevealed, until they were revealed by virtueof the solution of the top-level quiz.

The logical structure can vary between different iterations of any givenembodiment of a QNQ, as well as between different embodiments of a QNQ.For any given quiz-tree, the depth and depth constancy between branchescan be either variable or fixed. The number of child nodes connected toa parent node can be either constant or variable.

In the current embodiments, quiz solution is directed from bottom to topwithin branches, cognitively progressing one level at a time within abranch. In the current embodiments, the selection of quizzes is directedfrom top to bottom. These embodiments assume that the interface providesan indication of the top-level quiz at the beginning of a round, eventhough its solution is obscured. Also possible are embodiments whereplayers have no exposure to the top-level quiz until later in the game.Embodiments are possible where navigation and quiz selection beginsdeeper within the quiz hierarchy. Embodiments are possible that presentthe option of exposing a clue without solving it from an underlyingquiz, even when the clue is not at the bottom-most level of a branch.Embodiments that change the orientation of a quiz-tree, by inverting itfor example, are possible.

There may be hints to aid in a node's solution. Such hints may beimplicit to an indicator means for indicating a node without revealingit, such as a masking means. In the present embodiment, the phrase-wordsare indicated at the beginning of a round. Hints can also be provided bythe visible categorization of lower level quizzes. Such suggestions of aquiz answer are called “implicit hints” to aid in the solution of anode. Such implicit hints are not considered “clues” in terms of thediscussion which follows. However, implicit hints could be representedas nodes so the distinction is somewhat arbitrary.

Other embodiments could use other means for obscuring a node solution,such as including it in a large selection list with many incorrectsolutions. Such a means would be beneficial in a system designed tolimit typing.

The quiz to solve the top-level answer does not necessarily have to beof the same type as the quizzes that are available to solve the nestedquizzes nor do any of the quizzes in an iteration of the gamenecessarily have to be of the same type. The quiz types associated witha node can generally be consistent or variable in respect to any otherpart of the hierarchy.

Embodiments can be implemented with many types of textual and wordcharacter quiz forms, such as word riddles, as well as non-textual andmixed forms including but not limited to quizzes involving mathematics,logic, pictures, symbols, video, sound, music, animation, video, real orvirtual destinations, or any combination of quiz types.

A first embodiment of a QNQ is explained herein in the context of a gamecombining a ‘guess-the-phrase’ quiz with a question-and-answer triviaquiz.

FIGS. 2-14 Interface for Combined-Guess-the-Phrase-and-Trivia-QuizEmbodiment Overview

The following embodiment is called a“combined-guess-the-phrase-and-trivia-quiz embodiment”. Thecombined-guess-the-phrase-and-trivia-quiz embodiment is determined bymany design decisions and is an example embodiment. The detailspresented are not intended to diminish the generality of either thecombined guess-the-phrase-and-trivia-quiz embodiment or of otherembodiments.

The combined-guess-the-phrase-and-trivia-quiz embodiment is generallydescribed as a computer-based embodiment. It is also generally describedas a game that is concurrently played by multiple players, although asingle-player mode is assumed. Multi-player and single-player modes canbe options under the present embodiment. They could also be offered asalternative embodiments. Where functionality specifically applies tomulti-player variants it is construed as being part of a multi-playermode or embodiment only. Where functionality does not specifically applyto multi-player variants, it is construed to be included by eithermulti-player and single-player modes or embodiments.

The example top-level answer is an expression that is a common saying orproverb. It could also be a famous quotation, song lyric, poem, bookexcerpt, news headline, piece of knowledge or trivia, etc. A quizdatabase will contain a satisfactory repository of top-level phrases andunderlying quizzes for maintaining novelty. Each word under thetop-level phrase is a clue. Clues are unexposed at the beginning of a“round”. They are generally either exposed or unexposed during a round.At the beginning of each round, the user interface and system will berefreshed with a new, unexposed top-level phrase with fresh underlyingquizzes, which are stored in a quiz database.

In the detailed embodiments, one iteration of a QNQ has one quiz-tree.The top-level expression is masked at the beginning of a singleiteration of the game, called a “round”. A round is complete when thetop-level expression is solved or cannot be solved by the players. Inthe event that the top-level expression cannot be solved, the round isgracefully ended (not shown). One or more rounds in some type ofsequential context could be called a “match”.

A major goal of a round is to reveal the top-level expression. Thetop-level expression contains at least one, and generally two or morewords that can each be the subject of one or more additional, nestedquizzes. Such words are called “quiz-able-words”. These are each ananswer of a lower-level quiz. Each quiz-able word can have a number ofavailable clues. There may also be any number of words that form a partof the top-level expression that are not subject to nested quizzes, andthese are called “filler-words”.

There are four levels of nodes and three levels of quiz in thisembodiment. The depth of available clues is constant in this embodiment.The number of available clues per node is not constant throughout but isconstant between node-levels four and three at one available clue perhigher level node.

The quiz spanning node-levels two and one is a guess-the-phrase quiz toreveal the top-level expression. Quizzes between node-levels three andtwo are for revealing the quiz-able-word(s) contained in the top-levelphrase. Quizzes between node-levels four and three are trivia-quizzesfor finding clue(s) related to the quiz-able-words. Quizzes betweennode-levels four and three are categorized. Categorization of node-levelfour clues can provide implicit hints at node-level three answers.Categorization does not provide a clue as defined herein.

Unless the top-level quiz can be answered otherwise, quiz-able-wordsmust be solved either cognitively or within the user interface. A cluewill be found by correctly answering a quiz related to a quiz-able-word.The clue is the correct answer to a preceding quiz on a quiz-able-word,and is an expression that suggests its related quiz-able-word withoutnecessarily solving the quiz-able-word. There could be multiple quizzestaken, and multiple clues obtained, for each quiz-able-word.

At the beginning of a round, all words in the top-level expression aremasked. Players can see a mask for each character of each word. Themasks prevent the viewing of underlying words until mask removal.Alternative embodiments could use a mask that conceals the word length,and have automatically-revealed filler-words.

The attached claims reference a first, second, and third node. Inreference to the claims, nodes of the present embodiment at node-levelstwo, three and four refer to the first, second and third nodesrespectively.

User Interface—FIGS. 2-13

The phrase component can appear in an integrated graphical userinterface, such as the one indicated in FIG. 95. A score-and-controlcomponent 9530 will be displayed to each player during a round. Ananswering-turn-display component, 470 of FIG. 4 will be displayed whenthe game is in an answering mode. In single-player mode, theanswering-turn-display component is modified to show the remaining timewithout showing information about other players.

Words in the phrase component are referred to in terms of their order ofappearance in the user interface. The term “first quiz-able word” simplyindicates that the word is the first quiz-able word to appear in thephrase. Nodes for the top-level expression, word, trivia-quiz answer,and trivia-quiz question are logically related in a quiz-tree. Thequiz-tree for the sample iteration is shown in FIG. 14. When referringto components in their structural sense within their quiz-tree, thenumbering of FIG. 14 is used. When referring to components in theiruser-interface sense, the numbering of FIGS. 2-13 is used.

FIG. 2 represents the phrase component at the beginning of a round ofplay, in a mode called “navigation mode”. As discussed further, thereare four modes of the phrase component. These modes are “navigation”,“quiz-able-word-guessing”, “phrase-guessing” and “finished”. Except forfinished mode, the modes can alternate during a round.

A “phrase section” 212 contains a sample masked phrase to be solvedwithin one round. A phrase appearing in the phrase section generallycontains zero or more filler-words and one or more quiz-able-words. Inthe example, there are initially unrevealed first and secondquiz-able-words 220A1 and 220B1, with attached hyperlink. These refer to“nodes” 220A and 220B of FIG. 14. Initially there are also unrevealedfirst, second and third filler-words 218A1, 218B1 and 218C1, withattached hyperlink. These refer to “nodes” 218A, 218B and 218C of FIG.14.

Each character of each word in the phrase is initially masked. Anasterisk character is used to distinguish each character of unrevealedfirst, second and third filler-words 218A1, 218B1 and 218C1, withattached hyperlink. In contrast, a question mark character is used todistinguish each character of unrevealed first and secondquiz-able-words, with attached hyperlink 220A1 and 220B1.

The distinction between quiz-able-word and filler-word maskingcharacters, as well as the information supplied by the number of maskingcharacters in a word, are examples of implicit hints which are not cluesas defined herein.

A quiz-able-word or filler-word may be in a state of being masked orunmasked during a round. The mask overlying each word is part of anindicator means. It provides an indication of its respective word,without revealing its word. In the present embodiment, the indicatormeans includes a system means. The system means can include providing ahyperlink anchor having the masking characters. Source anchor text, oran image could be used. The hyperlink anchor indication can be providedby HTML generated by a servlet or Java Server Page run on an applicationserver. The indication shows the existence of the word without exposingit. The indication also provides a user interface location for theunrevealed word. Players can take actions based on the indication.

In the present embodiment, the indication also offers a suggestion orimplicit hint of the word answer. This suggestion is provided by thenumber and type of masking characters.

Once unmasked, a word remains unmasked, or revealed, for the remainderof the round. Each entire word will be either entirely masked orentirely unmasked unless it is in the process of being revealed by aplayer. All words in phrase section 212 are masked at the beginning of around. Mask underlining for unrevealed words 220A1, 220B1, 218A1, 218B1and 218C1 indicates a hyperlink that is attached to each word.

Each clue found on a quiz-able-word is displayed in a word-clue section214, which is demarcated by a word-clue section label 222. Aquiz-able-word clue is to be presented in quiz-able-word-clue cell 230Aor 230B below the quiz-able-word to which it pertains. Each clue remainsdisplayed until the end of a round. In an alternative embodiment, theclues could disappear once their associated quiz-able-word answer isrevealed.

Dashed horizontal lines used to fill in areas represent the color grayor some other color. Empty cells 228 beneath each of filler-words 218A1,218B1 and 218C1 are not subject to input and display nothing, and aretherefore represented as grayed.

Subject to control and answering rules and the current assignment ofcontrol and answering privilege, a player can initiate a guess at thetop-level quiz by selecting a “Solve-phrase” button 216A, visible innavigation mode.

Clicking on unrevealed first quiz-able-word 220A1, with attachedhyperlink displays a quiz-and-word-guessing-selector component (FIG. 3).The quiz-and-word-guessing-selector component takes the form of a menuover the phrase component just below unrevealed first quiz-able-word220A1, with attached hyperlink. The quiz-and-word-guessing-selectorcomponent has a top-level menu 310. Top-level menu 310 contains a“word-guess” menu option 312 and a “find-a-clue” menu option 314.

The quiz-and-word-guessing-selector component, and, more particularly,the “find-a-clue” menu option 314 and its submenus, are part of aselector means. In the present embodiment, the selector means includes asystem means. This includes an arrow-cursor 99 and an input means, suchas a computer mouse. The selector means is presented for each quiz-ableword until the top-level phrase is solved, or until a quiz-able word'squizzes are exhausted. The selector means also uses a first exposuremeans which refers to the means that exposes a selected quiz question inthe user interface.

In the present embodiment, the selector means allows a player to selectone or more quizzes associated with each unsolved quiz-able-word. Theselector means could include a JavaScript function that specifies how tocall a servlet and pass a node identification value for the quiz-ableword. The JavaScript function could be invoked from a hyperlink anchorfor the quiz-able word. In the present embodiment, the selector meanscan include a browser request from the client to a controllerservlet(s). The request passes the node-identification value of theselected quiz-able word. One server-side, the controller servlet passesthe request to Enterprise Java Beans comprising the game model. Servletsand JSP files could be used to generate the HTML for the quiz-and-wordguessing selector component. Alternately, only parameters needed for thevariable information in the quiz-and-word-guessing selector componentwould be returned from the server. Other options include pre-loadingquiz data on the client using XML or some other means, and having anapplet that makes a request to the controller servlet.

An attachment means attaches the selector means to the indication of thequiz-able word. The attachment means includes a system means. In thepresent embodiment, the attachment means could include a hyperlink valueor parameter for the quiz-able word's node-identification value. This ispart of the hyperlink which provides the indication of the quiz-ableword. The attachment means also associates the quiz-able word hyperlinkto the selector means. It can do this with HTML and JavaScript thatinvokes the selector means when there is a mouse over event.

Placing arrow cursor 99 over find-a-clue menu option 314 (action notshown) presents a flyout menu called a quiz submenu 330. Its options arespecific to the selected quiz-able-word and are based on the quizzesassociated to it within the quiz-tree. Quiz submenu 330 presents theavailable quizzes by category. In the example, there is atelevision-quiz-category-menu option 332A, a movies-quiz-category-menuoption 332B, a music-quiz-category-menu option 332C, and asports-quiz-category-menu option 332D.

Each quiz-category-menu option 332A-332D displays the number ofavailable quizzes per category in brackets. For example, a number ofquizzes 332A1 in the “television” category is shown to be five. In analternative embodiment, the quiz-and-word-guessing-selector componentcould be augmented, for example, to present the difficulty level of theavailable quizzes as well as subcategories.

Selecting one of quiz-category-menu options 332A-332D displays the nextavailable trivia-quiz within the selected category by opening atrivia-quiz component (FIG. 4). The trivia-quiz component is a pop-updialogue that displays a quiz and accepts player input. The trivia-quizcomponent has a quiz heading 410A. Quiz heading 410A includes a category410A1, a quiz number 410A2 per category, and a total number of availablequizzes 410A3 in the category pertaining to the quiz-able-word (220A ofFIG. 14).

Also displayed are a quiz question 412A1, and an answer label 414Ashowing players where to type a guess. An answer-attempt textbox 416will accept typed input from a player. A point-deduction warning 418reminds players of a deduction for a wrong answer. A submit button 420submits a guess in answer textbox 416 to the system for validation. Aclear-answer button 422 clears answer textbox 416. A pass-guess button424 allows a player to pass on the quiz without guessing.

Functionality provided by the trivia-quiz component, and particularlyquiz question 412A1, is part of a first exposure means for exposing theinformation fragment comprised by the node identification value of thetrivia-quiz-question node. The first exposure means includes a systemmeans for obtaining quiz-question data from a trivia-quiz-question nodeand passing it to the trivia-quiz component.

A first guessing means allows a guess to be provided for a trivia quiz.The first guessing means includes functionality provided by thetrivia-quiz component and particularly answer-attempt textbox 416 andsubmit button 420. It also includes a system means for providing a guessto a first validation means. In the present embodiment, thisfunctionality includes passing a node identification value representingthe trivia-quiz question to the system. Submitting a guess to acontroller servlet could be accomplished using Javascript and HTML. Itcould also be accomplished using an applet request to the controllerservlet. The first guessing means also includes a hand-pointer cursor95. Also included is an input means, such as a computer keyboard forexample.

In a sequential-answering system, an answer-attempt textbox 416 andbuttons 420, 422, and 424 are enabled for the player with answeringprivilege. Players without answering privilege see a view of thetrivia-quiz component as it is presented to the player with answeringprivilege. Alternatively, players without answering privilege have 416,420, 422 and 424 disabled on their display.

Answering-turn-display component 470 shows which player has answeringprivilege for multiplayer modes or embodiments. A “turn” column heading482 and a “player” column heading 472 help to arrange the display. Analarm clock icon 476 and a number of seconds 480 adjacent to a playername 474B, indicates which player has answering privilege and the amountof time that player has remaining to submit a guess before losinganswering privilege. A “next” indicator 478 adjacent to a player name474C indicates the next player in the answering privilege order. A thirdplayer name 474A is also indicated.

FIG. 5 depicts the trivia-quiz component with answer-attempt text 416Atyped into answer-attempt textbox 416. A hand-pointer cursor 95 oversubmit button 420 indicates that a player is about to submit an answerattempt. Pressing submit button 420 submits a guess to the system forvalidation. A first validation means provides a validation result forthe guess. In the present embodiment, the first validation meansincludes a system means. The system means includes using a nodeidentification value for a trivia-quiz question to a get a nodeidentification value of a corresponding trivia quiz answer. It includesgetting the valid answer(s) for that node, and comparing them to theguess supplied from the interface. In the present embodiment, avalidation result of success or failure is determined by the system. Thevalidation process is dependent on quiz-to-answer matching criteria,explained further below.

On a validation result of failure, points are deducted from the score ofthe player who submitted the guess. In a sequential answering system,answering privilege to the trivia-quiz component passes to the nextplayer. Answering privilege is passed until the quiz is solved or untileach player has had answering privilege for the currently selectedtrivia-quiz one time. If no player successfully answers the quiz, thetrivia-quiz component closes and no new clue is provided inquiz-able-word clue cell 230A (FIG. 2). The player with control can thentake a new action.

An alternative embodiment might support a ‘first-response’ answeringsystem. In a first-response answering system, the interface permits allplayers to guess at the same time. The system registers the order inwhich players submit their guess. Validation of the guesses is performedin the order they are received by the system. Validation continues untilthere is a successful validation result. The first player tosuccessfully answer a quiz gains control to select the next action.

When there is a successful validation result, the system closes thetrivia-quiz component. The system increases the score of the playerwhose guess had a successful validation result. A new clue 230A1 isrevealed in quiz-able-word clue cell 230A as depicted in FIG. 6. Firstquiz-able-word 220A1 has first clue 230A1, “Marty McFly”, a moviecharacter. Clue 230A1 is an expression that contains the firstquiz-able-word, which will be revealed to be “fly”. Control will go tothe player who successfully answered the most recent trivia-quiz. Inalternative embodiments, control can be based on different rules.

Clue 230A1 is revealed by a second exposure means. In the presentembodiment, this includes a system means. This includes providing ananswer, and the node identification value of the trivia-quiz-answer nodeto phrase component in navigation mode. The second exposure means couldfor example include HTML anchor text, or a client applet field

The player with control might decide to guess at the quiz-able-word forwhich the clue was just found. The player with control could also takeany other valid action such as initiating a guess at the phrase, findingmore clues on either quiz-able-word, revealing a filler-word, orpotentially, choosing to pass control.

It is presumed that the player with control next positions hand-pointercursor 95 over unrevealed second filler-word 218B1, with attachedhyperlink and clicks her mouse button. A “buy-word” menu 338, containingone item, is next displayed as shown in FIG. 7. In an alternativeembodiment, a player might also have the option to guess at anindividual filler-word. Only the player with control can select menu338. Buy-word menu 338 is selected by a player releasing her mousebutton with menu 338 selected with arrow cursor 99. This action opens aconfirmation pop-up dialogue window depicted in FIG. 8.

The confirmation pop-up in FIG. 8 confirms the player's decision to buythe selected filler-word. A word-cost warning label 510 reminds theplayer in control of the cost of buying a filler-word. A word-costmessage 512 asks the player in control if she wants to buy the selectedword. The player can proceed to buy the filler-word by placinghand-pointer cursor 95 over a “yes” button 514 and mouse clicking. Theplayer can also click a “no” button 516, canceling the filler-wordpurchase and closing the confirmation pop-up dialogue window.

FIG. 9 depicts the phrase component in navigation mode with revealedsecond filler-word 218B5 that was revealed by buying a word. Furtherplayer action cannot be taken on revealed second filler-word 218B5 asshown by its lack of a hyperlink, which had been indicated byunderlining.

After the round has been in progress a while, the phrase component mightappear similar to FIG. 9, except with two clues revealed in firstquiz-able-word cell 230A. The player with control might guess atunrevealed first quiz-able-word 220A1, with attached hyperlink. This canbe accomplished with word-guess menu option 312 depicted in FIG. 3.

Opting to guess at a quiz-able-word will change the mode of the phrasecomponent to word-guessing mode, depicted in FIG. 10. Firstquiz-able-word's presumed second clue 230A2, “The Flight of thePhoenix”, is a movie name. Clue 230A2 is also an expression containing aword derivative, “flight”, of the quiz-able-word, “fly”.

In word-guessing mode, solve-phrase button 216A of FIG. 9 disappears. Itis replaced by a submit-guess button 216B, a clear-guess button 216C, acancel-guess button 216D, and a point-deduction warning 216E of FIG. 10.A first quiz-able-word response 220A4 is accepted as text input from aplayer. The interface indicates that the field in which 220A4 is inputis “active” by enlarging the font of 220A4, placing a field border 97around it, and placing an insertion cursor 98 in the field. Unrevealedsecond quiz-able-word 220B2, without attached hyperlink and unrevealedfirst and third filler-words 218A2 and 218C2, without attached hyperlinkwill not accept input or action, as depicted by their absence ofunderlining, and are therefore “inactive”.

As the player with control inputs response 220A4, the masking charactersare replaced with the typed text. Insertion cursor 98 moves according tothe input. FIG. 10 depicts two of the three characters of 220A as havingbeen inserted.

The phrase component in word-guessing mode, and particularly response220A4 and button 216B are part of a second guessing means. Also includedis the quiz-and-word-guessing selector component, and particularly 312.In the present embodiment, the second guessing means includes a systemmeans. This includes a means for inputting a guess in the interface. Italso includes a means for submitting the node identification value ofthe quiz-able word node, along with the attempt, to the system forvalidation. This can include Javascript and HTML on the client, or anapplet, for submitting a guess to a controller servlet.

It is presumed that the player with control completes a (correct) guessand submits the guess with submit-guess button 216B. Next, the systemvalidates the attempt. On a successful validation result, focus returnsto the phrase component in navigation mode, showing revealed firstquiz-able-word 220A5 (FIG. 1, for 220A5 only) for the round duration.The successful player retains control.

Validation is provided by a second validation means which includes asystem means. This includes accessing the valid answers associated withthe node identification value for the quiz-able word, and comparing themwith the supplied attempt to obtain a validation result.

If the player with control (FIG. 10) cancels guessing at the word withcancel-guess button 216D, focus returns to the phrase component innavigation mode. The display would appear similar to FIG. 9 except withclue 230A2 shown in FIG. 10. Control remains as is.

If, in FIG. 10, the player with control were to clear the guess withclear-guess button 216C, all characters of first quiz-able-word 220Awould become masked. The phrase component would remain in word-guessingmode with focus on first quiz-able-word 220A and control remaining asis.

If the player with control were to submit an incorrect guess, unrevealedfirst quiz-able-word 220A1, with attached hyperlink would be shown. Thescreen would be like FIG. 9, except with clue 230A2 shown in FIG. 10.The phrase component would return to navigation mode. Control would bepassed to the next player in the control sequence. The control andanswering rules could be varied in different embodiments. There couldalso be a “pass-guess” button, not shown, to pass answering privilege tothe next player in a sequential answering system.

Presuming that the player completes a response 220A4 to the firstquiz-able-word and submits a correct guess (FIG. 10), revealed firstquiz-able-word 220A5 (FIG. 11, for 220A5 only), “fly” would be shown andthe phrase component returned to navigation mode. After the round hasbeen in progress for a further while, two clues might be found forsecond quiz-able-word 220B and displayed in the secondquiz-able-word-clue cell 230B.

In the present embodiment, revealed first quiz-able word 220A5 isprovided by a third exposure means, including a system means. Thisincludes obtaining the answer for the quiz-able word based on its nodeidentification value, and returning it to the user interface. The thirdexposure means could for example include HTML anchor text, or a clientapplet field which displays the answer.

The player with control might then click solve-phrase button 216A (FIG.9, 216A only) to change the phrase component to phrase-guessing mode.The player might then begin completing the phrase as depicted in FIG.11.

A first clue 230B1, for second quiz-able-word 220B3 in a guessing modeis “Appointment for Love”. This is a movie name that is an expressioncontaining the second quiz-able-word “ointment”. A second clue 230B2,for 220B3 is “Cream”, the name of a music band. It is also a one-wordexpression with a word that is a synonym for the second quiz-able-word“ointment”. FIG. 11 describes a situation where the player solving thephrase cognitively solves second quiz-able-word 220B (FIG. 14), and withthat information, proceeds to solve the top-level phrase.

Phrase-guessing mode is akin to word-guessing mode, except it supportsthe solution of the phrase as opposed to only one word. Submit-guessbutton 216B submits the phrase attempt for validation. Clear-guessbutton 216C masks all previously unsolved words, in this case 218A, 218Cand 220B (FIG. 14), leaving the phrase component in phrase-guessingmode. Cancel-guess button 216D (FIG. 11) cancels phrase-guessing andreturns the phrase component to navigation mode. Point-deduction-warninglabel 216E refers to a phrase guess. There could also be a “pass-guess”button, not shown, to pass answering privilege to the next player in asequential answering system.

FIG. 11 shows a response 218A4 to the first filler-word, a response218C4 to the third filler-word, and second quiz-able-word 220B3 in aguessing mode. These words can accept player input and are active.Revealed first quiz-able-word 220A5 and revealed second filler-word218B5 will not accept input and are inactive in the example. Activewords are indicated by enlarged font, with field borders 97 around them.Insertion cursor 98 starts at the beginning of response 218A4. Once allcharacters of response 218A4 to the first filler-word are entered,insertion cursor 98 moves to the beginning of the next active word tofacilitate all active fields receiving an input. Insertion cursor 98 canbe relocated with the forward and back keys of a standard keyboard, notshown. Insertion cursor 98 can also be relocated with text cursor 96that appears when the cursor is placed near one of the active textfields for 218A4, 218C4, and 220B3.

FIG. 12 depicts a continuation of the phrase component inphrase-guessing mode. Completed response 218C4 to the third filler-word,and response 220B4 to the second quiz-able-word are shown. It ispresumed that hand-pointer cursor 95 is next placed over submit-guessbutton 216B. Clicking button 216B submits the attempted phrase solutionto the system for validation. If unsuccessful, the phrase componentwould return to navigation mode and control would pass to the nextplayer in the control sequence. If successful, the phrase componentwould be displayed in finished mode as depicted in FIG. 13. In FIG. 13,revealed first filler-word 218A5, revealed third filler-word 218C5, andrevealed second quiz-able-word 220B5 are shown. These are in addition topreviously revealed first filler-word 218A5 and previously revealedsecond filler-word 218B5.

Finished mode indicates that the top-level phrase has been correctlyanswered. The phrase component will not respond to player action and theround is over. Finished label 216F displays in place of the buttons andpoint-deduction warning of the other modes.

During the round, points for the round were distributed as earned by theplayers, and the running round and match scores were updated. If thematch contains more rounds, the phrase component is displayed innavigation mode with a new, fully masked top-level quiz. If the matchcontains no more rounds, the match ends.

Logical Description of a Game Round—FIG. 14

FIG. 14 portrays the logical structure of a sample round of the combinedguess-the-phrase-and-trivia-quiz embodiment of a QNQ. FIG. 14 uses thesymbols introduced with FIG. 1 to describe a QNQ. In FIG. 14, words,text and expressions, called information fragments, are identified withthe nodes to which they belong. FIG. 14, includes information about theclues revealed to solve a top-level answer 1410.

Quiz question 412A1, at node-level four, is the trivia-quiz questionintroduced in FIG. 4. Its solution is first quiz-able-word's first clue230A1, at node-level 3. It is one of two clues to first quiz-able-word220A. First quiz-able-word 220A is one word of top-level answer 1410.

Quiz question 412A2 is another quiz question, not previously specified.Its solution is the first quiz-able-word's second clue 230A2 discoveredfor the first quiz-able-word in the sample round. It is the other of twoclues to first quiz-able-word 220A.

Quiz questions 412A3 and 412A4 are quiz questions, not previouslyspecified, whose answers become the second quiz-able-word's first clue230B1 and second clue 230B2 respectively. Second quiz-able-word 220B wasformally solved with the top-level phrase solution in the sample round.It is therefore depicted as a cognitively solved clue.

Other nodes are drawn to depict the domain of quizzes that wereavailable in the sample round. Filler-words 218A, 218B and 218C roundout node-level 2. Filler-word 218B was revealed by buying a word in thesample round, and so is depicted with the symbol for a revealed clue142. Filler-words 218A and 218C were only revealed with the solution oftop-level answer 1410. They are therefore depicted with the symbol foran unrevealed clue 146.

FIG. 14 shows the categorization of the trivia-quizzes spanningnode-levels three 114 and four 116. Trivia-quiz categories 1420A wereused to group quizzes that provide clues for first quiz-able-word 220A.Categories include a sports category 1420A1, a movies category 1420A2, amusic category 1420A3 and a television category 1420A4. Categorizationdetails are indicated on the first quiz-able-word only. Trivia-quizcategories 1420B are also used to group the quizzes that provide cluesfor second quiz-able-word 220B.

User Interface Flow Diagram—FIG. 15

FIG. 15 depicts the user interface flow without control and answeringprivilege details. The phrase component in navigation mode 1510(depicted in FIG. 2), is the starting point of the game. From it, aplayer can access the quiz-and-word-guessing-selector component,find-a-clue option 1520 (indicated by menus 314, 332A-332D of FIG. 3).This is used to open the trivia-quiz component 1560 (depicted in FIG.4). Once the quiz is finished, 1510 becomes active again.

From component 1510, a player can access thequiz-and-word-guessing-selector component, guess-word option 1530(indicated by 312 of FIG. 3). This leads to the phrase component inword-guessing mode 1570 (depicted in FIG. 10), and back to 1510. From1510, a player can access the phrase component in phrase-guessing mode1540 (depicted in FIGS. 11 and 12). This can lead to the phrasecomponent in finished mode 1580 (depicted in FIG. 13), and the end of around 1590. It can also lead back to 1510. From 1510, a player canaccess the buy filler-word menu, and confirmation dialogue 1550(depicted in FIGS. 7 and 8).

System Architecture for Game Delivery—FIG. 16

An embodiment can be supported by client, peer-to-peer, or distributedclient/server software, hardware, data schema objects, data, and adatabase management system. Discussed is a ‘client-server’ architecturewhere the game is distributed between clients 1610 and server-sidecomponents 1650, connected by the Internet 1640.

Generally, there would be one client device for each player. Clientdevices could include various networked I/O devices. Shown is a desktopcomputer, 1612, a notebook or sub notebook computer, 1614, a handheldgaming device, 1616, and a cell phone/PDA with gaming capabilities,1618. In general, the term “electronic gaming device” can apply to allof these and any electronic device that enables players to play thegame. Internet access 1630 connects the clients to the server sidecomponents.

The client devices support software to play the game. Software caninclude a web browser, or custom game software downloaded and installed,or both. Third party or vendor components can be included. Client sidecode can be provided dynamically by a web server (or servers) 1652. Theclients provide players with a graphical user interface and an inputmeans. Input means can include alphanumeric keypads, touch screens, andcomputer mice. Outputs include a screen to display the user interface.

The server side infrastructure can be based upon existing softwareapplications, database management systems, programming languages andserver computers. Server-side components 1650 could include a web server1652. Web server 1652 communicates with clients 1610 through an Internetconnection 1670. Web server 1652 maintains a network connection 1672 toan application server (or servers) 1654. Application server 1654 managesmultiple games in progress. Application server 1654 maintains a networkconnection 1674 to a database server (or servers) 1656, which manages1676 a quiz database and associated schema 1658.

In a Java-based implementation, a web client 1610 might present the gameto players as dynamic HTML pages, created from Java Servlets and/orJavaServer Pages™ assembled in a web tier by a J2EE server machinerepresented by 1654. These are delivered by a web server 1652 such asApache. Alternative embodiments could include a custom user interfaceJava application or Applet, otherwise accessing the game throughcontrollers in the server tier.

The controllers could also run on a J2EE server machine represented by1654. Session beans could be used on server 1654 to converse with theclients and pass messages to the model. The model could be supported byEnterprise Java Beans and entity beans (entities) running on server1654, representing persistent data stored in database entities.

Other technologies could include extensible markup language (XML) andweb services. For example, quiz trees, could be represented in XML.Their information could be accessed from a server through web services.Some embodiments could have part or all of an XML quiz tree distributedto the clients. Client side scripting languages, such as JavaScript,could also be used.

A database server 1656 could run an Oracle®, MySQL® or other relationaldatabase management system to access a quiz database and associatedschema 1658. The database server hardware, software, system and schemaobjects, and data comprise a persistent computer storage means. Thisallows for storing and accessing clues and answers, for relating cluesand answers in clue/answer pairs, and for relating clue/answer pairs toone another. Schema relevant to the present embodiment are described inFIGS. 33-41 and FIG. 52. A persistent computer storage means supportsvarious other aspects of the present embodiment. Embodiments usingfile-system based persistent computer storage means are also possible.XML and other tagged persistent data files are possible.

Standalone single-player embodiments might include support fordownloading and accessing quiz-trees on the client from a Java clientapplication. Quiz-trees might also be loaded onto the clients fromphysical media, such as a game cartridge or DVD. Client side softwarecould run the game disconnected from server side components.Multi-player, peer to peer embodiments of the game withInternet-connected clients are also possible.

Other functionality can be built in support of the game. Quiz-treescould be custom built by the players. Players could begin with one ormore personal, custom expressions with the quiz database supplying theremaining expressions and facilitating creation of a custom quiz-tree.Quiz-trees could be built on the server using client or web-clientsoftware, or built on the client and uploaded to the server.

Other formats of the game are possible. For example, an embodiment ofthe game could be played with players in the same physical proximity asin a television or Internet game show. Another embodiment could combinethe broadcast of a studio-based game with an interactive mode of thegame being played by spectator/players. A QNQ could be made out as aphysical media game, with a card or notebook reference system connectingthe main level trivia phrase or expression with the word-level quizzes.A simplified embodiment of the game could be presented on paper orcardboard, such as a ‘scratch card’ or perforated window method forhiding and revealing clues. A physical media implementation might relyon the pictorial tree view of FIG. 1. Alternatively, a QNQ could combinephysical media with a computer based embodiment.

Player Modes

The sample combined guess-the-phrase-and-trivia-quiz embodiment couldsupport different player modes, including “multi-player/auto-phrase”,“multi-player/hosted”, and “solitary player”. Inmulti-player/auto-phrase mode there are multiple players and thequiz-trees are selected automatically by the game system. Automatedquiz-tree selection could be tuned by category, difficulty, quiz-type,etc., based on match parameters set by an administrator or agreed to bythe players. In multi-player/hosted mode, a participant plays the roleof a host and selects predefined or custom quiz-trees, for the players.In solitary player mode there is only one player. Other embodiments arepossible.

In multi-player modes, the user interface presented to each playerdepends on whether the player has control or answering privilege of thegame at a give moment. Players without the ability to act on the game ata given moment would be presented with an application-sharing view. Thiswould include they key user interface components of the player withcontrol or answering privilege. Alternatively, players without theability to act would be presented the same user interface components asthe player with control/answering privilege. However, functionality forinitiating or responding to quizzes would be disabled. A combination ofapproaches can also be used.

Scoring System

A scoring system is provided for the present embodiment. Alternativescoring systems can be devised for different embodiments.

In multi-player embodiments, cumulative points may be earned for solvingclues, revealing quiz-able-words, and especially for solving thetop-level expression. The player with the most points at the end of around would win the round, and the player with the most points at theend of a match would win the match. Players are deducted points formaking incorrect guesses to quizzes, and/or solutions toquiz-able-words, and/or to the top-level expression.

In the present embodiment, the goal of each player is to solve thenext-higher and eventually the top-level word or expression with theminimum number of clues necessary. In a multi-player embodiment, thisgoal is encouraged by awarding a high ratio of the total pointsavailable in a round to the player who solves the top-level phrase.Also, awarding points for new clues on a quiz-able-word is discontinuedonce a certain number of clues have been revealed on that word.

In a single-player embodiment, the same goal is encouraged by having amaximal number of point availability at the beginning of a round.Cumulative point deductions are made for quizzes taken, wrong guesses,and filler-words unmasked.

A round is completed with the solution of the top-level expression. Asmentioned, not all possible clues have to be revealed, nor do allquiz-able-words have to be the subject of one or more quizzes. The goalof a round is to get the most points, which favors the player who solvesthe top-level expression.

An example of a scoring system for a multiple player mode of thecombined guess-the-phrase and trivia game embodiment of a QNQ could beexpressed as follows:

-   -   a. “n”, “x” and “y” are integers. “p”, “d”, “q” and “f” are real        numbers that may have a decimal component.    -   b. “p” points are awarded to one player for solving the phrase.    -   c. “q” total points are allotted for each quiz-able-word that        exists in the phrase. These points are distributed between one        or more players for clues solved on each given quiz-able-word,        and for revealing the quiz-able-word.    -   d. “q” points are always distributed for each quiz-able-word.        When quiz-able-words are by-passed in the solution of the        top-level phrase, outstanding quiz-able-word points on any        unrevealed quiz-able-word(s) are distributed to the player who        solves the top-level phrase.    -   e. When there are “n” quiz-able-words in the phrase, and “f” is        a factor that that expresses the relative importance of solving        the phrase compared to the rest of the quizzes. Then, “q=f×p/n”.        The symbol “x” is the times symbol.    -   f. “x” is the number of clues revealed plus one (for revealing        the quiz-able-word). “q/x” points are awarded for each clue        found on a quiz-able-word up to the first “y” clues per word.        “q/x” points are also awarded for revealing the quiz-able-word.    -   g. When a player solves a quiz-able-word with fewer than “y”        clues revealed, the successful player is attributed the        outstanding points for the remaining clues as if “y” clues had        been revealed.    -   h. When a player by-passes the solution of any unrevealed        quiz-able-word(s) to solve the top-level expression, that player        is attributed the outstanding points on any quiz-able-word(s) as        if “y” clues had been revealed and the quiz-able-word had been        solved directly.    -   i. “d” points are deducted from a player for each incorrect        guess or for voluntarily unmasking a filler-word.

Following the example round described, suppose a three player round withplayers “Betty”, “Ann” and “Sally”. Suppose Ann solves first clue 230A1of the first quiz-able-word, Sally solves its second clue 230A2, andthen solves first quiz-able-word 220A. Then suppose Betty solves firstand second clues 230A3 and 230A4 of the second quiz-able-word, andsolves the phrase, by-passing the solution of the second quiz-able-word220B. Suppose that Betty makes three incorrect guesses, Ann makes one,and Sally one. Suppose Ann buys one filler-word.

Suppose that “f” is 1 and “n” is 2, and “p” is 500. Then “q” is “250”.Suppose that “y” is “3” and “d” is “50”.

At the end of the round, Betty will have earned 500 points for solvingthe phrase. Betty also earns 62.5 points (“(¼)×250”) each for two clueson the second quiz-able-word. Betty is also attributed 62.5 points as ifshe had solved one more clue on the second quiz-able-word. Betty is alsoattributed 62.5 points for revealing the second quiz-able-word when thephrase was solved. Betty is penalized 150 points for incorrect guesses.Betty's point total for the round is therefore 600.

Ann will have earned 62.5 points for solving one clue on the firstquiz-able-word. Ann is also penalized 50 points each for an incorrectguess and for buying a filler-word. Ann's point total for the round istherefore negative 37.5.

Sally will have earned 62.5 points for solving one clue on the firstquiz-able-word. Sally is also attributed 62.5 points as if she hadsolved one more clue on the second quiz-able-word. Sally is alsoattributed 62.5 for solving the second quiz-able-word. Sally is alsopenalized 50 points for an incorrect guess and her point total for theround is therefore 137.5.

Point totals for each round are accumulated by players until the matchis finished. The player with the highest point total at the end of thematch wins the match.

Many variations are possible in other embodiments. For example, thenumber of points available for solving a quiz-able-word was the same forsolving a clue on a quiz-able-word (actually or by attribution), butthese could be different. Also, there could be exceptions for pointdeductions. For example, a player who solves a clue might have anopportunity immediately following to make a guess without penalty in thecase of a wrong attempt. A major variation would include adjustments forquiz difficulty, discussed further below. Other variations might includehaving player input into the number of points to be distributed for around.

Other embodiments are possible which would not discourage the playersfrom taking more quizzes than necessary to solve the top-level phrase.Some embodiments might not emphasize the solution of the top-level quiz.Such embodiments might simply use the hierarchical or chained structureof an embodiment and its supporting interface as a novel quiz framework.

Selection of Quizzes

In the present embodiment, quizzes are selected during a round of playbased on player actions. In other embodiments, the system could selectquizzes randomly or based on an integrated game of chance. Quizzes mightpop-up based on some constant or random time interval or a musicalrhythm.

In the present embodiment, quizzes were selected from definedcategories. Other embodiments might emphasize sub-categorization, andquiz-difficulty ratings. Others might provide highly custom quizzes orto provide a handicapping system.

Control System and Answering System

Control is the ability of a player to determine the next step of thegame through the user interface. In multi-player modes, control ispassed between players. A control system refers to the management ofdefined rules to distribute control between players.

In the present embodiment, certain actions can be taken by a player withcontrol. These include selecting a quiz on a quiz-able-word, unmasking afiller-word, guessing at a quiz-able-word or guessing at the top-levelphrase. Control is passed from player to player in logical sequencebased on the result of actions during a round. Control to start eachround within a match is passed from player to player sequentially.

Answering rules denote the rules for answering a quiz withoutnecessarily having control. Different embodiments could includetoken-based or “sequential” answering systems, and “first-response”answering systems. In a sequential answering system, players take turnsattempting to answer a quiz, starting with the player in control. If theplayer in control passes or makes an incorrect guess, answeringprivilege passes to the next player in the control sequence.

In a first-response answering system all players can answer a quiz atthe same time. The game system determines the first player to answercorrectly and awards points to that player. Control passes to the playerwho solved the quiz.

Control and answering rules, in combination with scoring rules, cansupport the objective of solving the top-level quiz in as few steps aspossible, or some other objective. The control and answering rules alsotend to recognize previous achievement in the round. This is done byallowing a player to continue to control the round if no other player ishaving greater current success.

For multiple-player embodiments, time limits apply. A time limit appliesto control wherein a player with control must take an action within acertain time. A time limit also applies to answering privilege wherein aplayer must make a guess within a certain time. A visual aid, such asanswering-turn-display component 470 shown in FIG. 4, presents this timeto the players. When a player does not act within the respective timelimit, control or answering privilege is passed to the next player inthe control sequence.

In the present embodiment, before a match begins, the control sequenceof the players is established. The first player in the sequence hascontrol at the start of the first round. The control sequence does notchange during a match. At the beginning of a new round, control passesto the player who follows the player who had control at the beginning ofthe previous round.

A player with control can generally; guess at the phrase; guess at anyunsolved quiz-able-word; reveal any unrevealed filler-word, and;initiate a trivia-quiz on a quiz-able-word, if applicable. Revealing afiller-word is restricted to once per possession of control.

If a phrase-guess is successful, the round is finished. If aquiz-able-word is solved or a filler-word is revealed, control ismaintained. If a phrase or work guess is unsuccessful, control is passedthe next player in sequence.

If a trivia-quiz is initiated, an answering privilege index is set,following the same sequence as the control sequence and starting withthe player with control. All players have an opportunity to attempt thetrivia-quiz until it is solved. If the trivia-quiz remains unsolved, theplayer with control maintains control. If solved, the player whoprovided the solution is granted control.

A player with answering privilege may voluntarily pass answeringprivilege to the next player in the control sequence. Answeringprivilege is lost if the time limit is exceeded. There are also rules toend a round when no further actions can be taken.

There is an advantage to starting a round in control. Therefore, thenumber of rounds per match should be evenly divisible by the number ofplayers. Many other embodiments are possible. For example, control mightpass automatically after a certain number of actions are takenregardless of whether the previous actions were successful. Players mayalso be able to interrupt control for certain actions, such asattempting the top-level phrase.

Quiz-Able-Word-to-Clue-Matching Criteria

Linked quizzes are formed on the basis of matching criteria thatdetermine if a quiz answer is a suitable clue to a one-higher levelquiz. An example matching criterion could be that a quiz-able-word iscontained somewhere in a clue offered by a one-lower level quiz. Suchwas the case in the sample round, where quiz-able word “fly” wascontained in the clue “Marty McFly”. Synonym matching was also shown.

The quiz-able-word-to-clue-matching criteria are displayed to allplayers at the start of a round or match as applicable (not shown). Thecriteria would continue to be viewable through some user interfacecomponent (not shown). An embodiment could provide user configurablematching criteria that could be determined by the players or the hostdepending on the player mode.

The number of total available quizzes available or quizzes-per-categoryavailable for each quiz-able-word does not have to be constant. However,there might be some minimum threshold of quizzes available for eachquiz-able-word in an expression in order for the higher-level expressionto qualify for use in an embodiment.

Quiz-to-Answer-Matching Criteria

Quiz-to-answer-matching criteria are rules used by a validation system.These rules specify how closely a guess must match a stored quiz answerin order for the attempt to be deemed successful. One example matchingrule would be to dismiss the relevance of character case in any guess.

Quiz-to-answer-matching criteria would apply to a text-based trivia-quizguessing design, as indicated by FIG. 5. It would also apply to atext-based quiz-able-word and phrase guessing design as indicated byFIGS. 10 and 12 respectively. Quiz-to-answer-matching criteria applywhere user input is typed and where some leeway is to be provided.Quiz-to-answer matching criteria do not apply where guesses are ofmultiple choice or list selection types.

In the present embodiment, the correct answer from the quiz database ispresented as the clue to the one-higher quiz. Other embodiments mightpresent the guess instead.

Runtime Program Structure

The present embodiment includes a runtime computer program means. Theruntime computer program means is described above and in the classdiagram shown in FIG. 17 and in the sequence diagrams shown in FIGS.18-32, 46-51, and 53-55.

Class Diagram—FIG. 17 The Model

A class diagram of the present embodiment is shown in FIG. 17. Classes1709 thru 1720 represent the model. A node (“Node”) class 1711generalizes the different types of nodes. An aggregation 1751 representsa child node referencing zero-to-one parent nodes. In the presentembodiment, all nodes except the top-level expression are in arelationship in which they are a child node having exactly one parentnode. An aggregation 1752 represents a parent node referencingzero-to-many child nodes. Terminal nodes at the end of a tree branchreference zero child nodes. Other nodes reference one or more childnodes. Instantiated nodes are identified by a unique identifier, such asan object ID.

Four subtypes of node are: a guess-the-phrase-phrase (“GuessThePhrPhr”)class 1714; a guess-the-phrase-word (“GuessThePhrWd”) class 1717; atrivia-quiz-answer (“TriviaQuizAnswer”) class 1716; and atrivia-quiz-question (“TrivQuizQues”) class 1713. In thecombined-guess-the-phrase and trivia-quiz embodiment, these classesrepresent nodes at levels one, two, three and four respectively. Classes1714, 1717, 1716, and 1713 are shown by lines 1772, 1761, 1760, and1759, respectively, as well as 1792, as being generalized by 1711.

An aggregation 1763 indicates that a guess-the-phrase-phrase class 1714instance is a parent of one-to-many guess-the-phrase-word class 1717instances. An aggregation 1764 indicates that a guess-the-phrase-wordclass 1717 instance is the child of exactly one guess-the-phrase-phraseclass 1714 instance. Guess-the-phrase-word class 1717 instances can bequiz-able-words or filler-words.

An aggregation 1770 indicates that a guess-the-phrase-word class 1717instance is a parent of zero-to-many trivia-quiz-answer class 1716instances. An aggregation 1762 indicates that a trivia-quiz-answer class1716 instance is a child of exactly one guess-the-phrase-word class 1717instance.

An aggregation 1758 indicates that a trivia-quiz-answer class 1716instance is a parent to exactly one trivia-quiz-question class 1713instance. Aggregation 1757 indicates that a trivia-quiz-question class1713 instance is a child of exactly one trivia-quiz-answer class 1716instance.

A trivia-quiz-category class (“TrivQuizCat”) class 1710 instance holdsall of the categories that trivia-quizzes can be placed in. Anaggregation 1750 indicates the trivia-quiz-question class 1713referencing the trivia-quiz-category class 1710 with multiplicities ofone and zero-to-many.

An aggregation 1753 indicates a tree (“Tree”) class 1712 referencingnode class 1711 with multiplicities of many and one. Aggregation 1753 isshown linking the tree class 1712 with node class 1711; the actual linksare between tree class 1712 and derived node classes 1713, 1714, 1716and 1717. Each node belongs to exactly one tree and each tree has “many”nodes. In the present embodiment, a tree has a practical lower limit offive nodes. In other embodiments, a “tree” could have as few as threenodes, representing a linear sequence. While not essential at runtime,tree class 1712 represents quiz-trees as units and has quiz-tree levelattributes and methods.

An aggregation 1754 indicates a round (“Round”) class 1715 referencingtree class 1712 with multiplicities of one and one. A tree can be in oneround, and the same tree can be in no more than one round in the samematch. A round can have only one tree in the present embodiment. Anaggregation 1773 indicates a match (“Match”) class 1718 referencinground class 1715 with multiplicities of one-to-many and one. Anaggregation 1766 indicates match class 1718 referencing a player(“Player”) class 1720 with multiplicities of one-to-many and one. Anaggregation 1778 indicates round class 1715 referencing player(“Player”) class 1720 with multiplicities of one-to-many and one

A game (“Game”) class 1719 instance is responsible for; running a match,instantiating objects, accessing data via the other model classes,receiving messages from the view via a controller (“Controller”) class(or classes) 1740, and presenting the view.

Aggregations 1756, 1769, and 1771 indicate game class 1719 referencingtrivia-quiz-question class 1713, trivia-quiz-answer class 1716, andguess-the-phrase-word class 1717, respectively, with generalizedmultiplicities of zero-to-many and one. Embodiments can support nodepersistence whereby nodes are instantiated as required. Depending on themanagement of node persistence, different multiplicities can arise. Anaggregation 1765 indicates game class 1719 referencingguess-the-phrase-phrase class 1714 with multiplicities of one and one.In the present embodiment, the game would only ever access one top-levelexpression at a time. The multiplicity of one on the game side inaggregations 1756, 1769, 1771, and 1765 reflects that the same node isnot shared by more than one game, since nodes contain state information.

Aggregation 1774 indicates game class 1719 referencing player class 1720with multiplicities of one-to-many and one. Embodiments with playersaccessing more than one game are also possible. Association 1767indicates an association between game class 1719 and match class 1718with multiplicities of one and one. Association 1768 indicates anassociation between game class 1719 and round class 1715 withmultiplicities of one-to-many and one. Association 1755 indicates gameclass 1719 accessing tree class 1712.

A clock (“Clock”) class 1709 maintains time for purposes of managinganswering privilege and control. Aggregation 1775 indicates game class1719 referencing clock class 1709 with multiplicities of one and one. Inthe present embodiment, time to respond is maintained in the model andthere is no need to maintain time for control and answering privilegesimultaneously. Embodiments with other multiplicities are possible.

The View

The view is represented by classes numbered between 1721 and 1732. Shownare associations between the game class and the view classes. On theview side a lower multiplicity of zero indicates that the component doesnot have to be instantiated at any given moment of time.

In multi-player modes, player(s) without the ability to take action onthe game will have view access to the interface presented to the playerwho can take action on the game. This can be accomplished throughapplication sharing technology. The player with ability to take actionhas control access. View access allows players without control to seewhat actions are being taken on the game. If answering privilege isassigned to a player, only the player with answering privilege will beable to take an action on the game. If answering privilege is notassigned to any player, only the player with control will be able totake an action on the game.

Shown are a quiz-and-word-guessing-selector-graphical-user-interface(“Q_W_GuessSelGUI”) class 1726, depicted in FIG. 3, abuy-filler-word-menu-GUI (“BuyFillerWdMenuGUI”) class 1727, depicted inFIG. 7, and a trivia-quiz-GUI (“TriviaQuizGUI”) class 1725, depicted inFIGS. 4 and 5. Associations 1786, 1787, and 1782, indicate anassociation between game class 1719, and view classes 1726, 1727, and1725, respectively. Each of these associations is represented by a lineextending from game class 1719 to the respective view class. In each ofassociations 1786, 1787, and 1782, the multiplicities are zero-to-oneand one.

Shown are a navigation-mode-GUI (“NavModeGUI”) class 1729, firstdepicted graphically at runtime in FIG. 2, a word-guessing-mode-GUI(“WdGuessingModeGUI”) class 1728, depicted in FIG. 10, aphrase-guessing-mode-GUI (“PhrGuessingModeGUI”) class 1730, depicted inFIGS. 11 and 12, and a finished-mode-GUI (“FinishedModeGUI”) class 1731,depicted in FIG. 13. Classes 1728 through 1731 are generalized by aphrase-component-GUI (“PhraseComponentGUI”) class 1732. Classes 1731,1729, 1730, and 1728 are shown by lines 1788, 1789, 1790, and 1791,respectively, as well as 1793, as being generalized by 1732.

Associations 1783, 1785, and 1784, indicate an association between gameclass 1719, and view classes 1729, 1728, and 1730, respectively. Each ofthese associations is represented by a line extending from game class1719 to the respective view class. In each of associations 1783, 1785,and 1784, the multiplicities are zero-to-one and one. Furthermore,only-one type of phrase-component-GUI class 1732 will be displayed at atime.

Controller (“Controller”) class 1740 represents one or more controllersaccessed by view classes 1725 through 1730. The controller class passesmessages from the applicable view classes to game class 1719.Association 1779 represents all of the associations between controllerclass 1740 and classes 1725 through 1730. In each case there is amultiplicity of one on controller class 1740 and zero-to-one on viewclasses 1725 through 1730. Association 1780 shows controller class 1740accessing game class 1719.

Shown is a turn-GUI (“TurnGUI”) class 1721, graphically depicted asanswering-turn-display component 470 in FIGS. 4 and 5. Also shown is acontrol-and-score-GUI (“Cntl&ScoreGUI”) class 1724, graphically depictedin FIG. 95 as a score-and-control component 9530.

Classes 1721, 1724 and 1731 are not subject to player action and do notaccess controller class 1740. Associations 1776, 1777, and 1781 indicatean association between game class 1719, and view classes 1721, 1724, and1731 respectively. The multiplicities for associations 1776 and 1781 arezero-to-one and one. The multiplicities for association 1777 are one andone.

At the beginning of a game, an instance of game class 1719 initializes anew game, the player(s), a new match, and a new round. The game instancecreates an instance of guess-the-phrase-phrase class 1714. It alsoobtains the top-level expression for the round by initializingguess-the-phrase-word class 1717 objects for each word in the phrase.The game instance takes the key information from these nodes and passesit to navigation-mode-GUI class 1729 object, which it instantiates. Aspart of initialization, the game sets control to a player in the model.The game creates sessions with each gaming device, and passes a playerreference to each client. The game also instantiatescontrol-and-score-GUI class 1724. In multi-player modes, the game alsogrants view access to players without the ability to take action. Italso manages alternation between control and view access as control andanswering privilege alternate.

When node information is sent from the model to the view, a uniqueidentifier or reference for each node is sent to the clients. The viewpasses this reference to a controller class 1740 instance with userinterface events directed to the model. Each node that is available fordisplay or querying in the view is therefore related back to the model.

Sequence Diagram—Get-Quiz-and-Word-Guessing-Selector GUI—FIG. 18

FIG. 18 shows the sequence diagram for displaying thequiz-and-word-guessing-selector component depicted in FIG. 3. Anavigation-mode-GUI (“NavModeGUI”) object 1810 is an instance ofnavigation-mode-GUI class 1729. It is depicted as the phrase componentin navigation mode, shown in FIG. 2. Navigation-mode-GUI object 1810sends a message 1850 to get the quiz-and-word-guessing-selectorcomponent (“getQ_W_GuessSelGUI( . . . )”) to a controller object 1814.Controller object 1814 is an instance of controller class 1740. Message1850 requests the display of the quiz-and-word-guessing-selector GUI.Message 1850 is invoked by a mouse over event over a hyperlinkedquiz-able-word. The message passes a guess-the-phrase-word node ID(“GTPWdNdID”) 1850A, which is a unique id for the quiz-able-word onwhich the event occurred. A reference 1850B to the current player(“player”) is also passed.

Next, controller object 1814 calls a get-trivia-quiz-by-category-total(“getTrivQuizByCatTot( . . . )”) method 1852 of game object 1816. Gameobject 1816 is an instance of game class 1719. Game object 1816 callsits validate-control (“validateControl( . . . )”) method 1854 tovalidate that player 1850B has control. Game object 1816 then calls aget-node-state (“getNodeState( )”) method 1856 of aguess-the-phrase-word object 1818 for the guess-the-phrase-word node ID.Object 1818 is an instance of class 1717.

A node can be in various states which resolve to the node being eitheravailable or unavailable for further activity. For example, a node couldbe “answered”, making it unavailable for further activity. On acondition 1858 that the node-state is available (“[nodeState=“avail”]”),game object 1816 calls its set-active-node (“setActiveNode( . . . )”)method 1859 to set guess-the-phrase-word node ID 1850A as the activenode. Setting a node as active indicates it to be the node set toreceive further player actions. If the node state is not available,error handling (not shown) will reject the sequence and send anappropriate response to the user interface. Condition check 1858 in themodel should not find an unavailable node. This is because the userinterface is updated to reflect the states in the model.

Game object 1816 next calls a get-trivia-quiz-by-category-total(“getTrivQuizByCatTot( )”) method 1860 of 1818. Object 1818 returnstrivia-quiz-by-category-total (“trivQuizByCatTot”) 1862, an array of thetotal number of trivia-quizzes by category. It next invokes a displayquiz-and-word-guessing-selector-GUI (“displayQ_W_GuessSelGUI( . . . )”)method 1864 to instantiate quiz-and-word-guessing-selector-GUI object1812, with 1850A and array 1862 containing the total number oftrivia-quizzes by category. Object 1812 is an instance of class 1726.Quiz-and-word-guessing-selector-GUI object 1812 is graphically depictedin FIG. 3. The steps in FIG. 18 are generally part of the selectormeans. They include obtaining trivia-quiz summary information from thenode identification value of the quiz-able word. This is displayed inthe quiz-and-word-guessing selector prior to selection of a quiz.

Sequence Diagram—Select-a-Trivia-Quiz—FIG. 19

FIG. 19 shows a sequence diagram for displaying a trivia-quiz GUI.Quiz-and-word-guessing-selector-GUI object 1812 for the player withcontrol sends a get-trivia-quiz-GUI (“getTriviaQuizGUI( . . . )”)message 1950 to controller object 1814. Message 1950 includesguess-the-phrase-word node ID 1850A, a reference 1850B to the player,and a category (“cat”) 1950A which the next trivia-quiz is to beselected from.

Next, controller object 1814 sends a get-trivia-quiz-by-category(“getTrivQuizByCat( . . . )”) message 1952 to game object 1816, to getthe next trivia-quiz by category, passing 1850A, 1850B, and 1950A. Gameobject calls its validate-control method 1854 to validate that player1850B has control. It then calls a next-trivia-quiz-by-category-index(“nextTrivQuizbyCatIndx( . . . )”) method 1954 of guess-the-phrase-wordobject 1818 for the guess-the-phrase-word node ID, passing category1950A. Method 1954 increments a trivia-quiz-category index by one.

Game object 1816 next calls a lookup-next-trivia-quiz-answer-node(“lookupNextTQANd( . . . )”) method 1956 of guess-the-phrase-word object1818 for the guess-the-phrase-word node, to get a reference to the nexttrivia-quiz answer node in an array for supplied category 1950A.

Game object 1816 next calls a lookup-trivia-quiz-question-node(“lookupTQQNd( )”) method 1958 of a trivia-quiz-answer object 1910 forthe trivia-quiz-answer node. Object 1910 is an instance of class 1716.Object 1910 returns a reference 1959 to the trivia-quiz-question node(“TQQNd”).

Game object 1816 next calls a get-node-state (“getNodeStateo”) method1960 of a trivia-quiz-question object 1912 for the trivia-quiz-questionnode (“TQQNd:TrivQuizQues”). Object 1912 is an instance of class 1713.On condition 1858 that the node state is available, game object 1816calls its set-active-node (“setActiveNode( . . . ”) method 1962 to settrivia-quiz-question node ID (“TQQNdID”) 1962A as the active node. Gameobject 1816 next calls a get-question-information (“getQuestionInfo( )”)method 1964 of 1912.

Methods 1950 to 1964 of FIG. 19 can generally be classified asdescribing part of the selector means for selecting the trivia quiz.

Game object 1816 next updates the view. It sends aclose-quiz-and-word-guessing-selector-GUI (“closeQ_W_GuessSelGUI( )”)message 1966 to close quiz-and-word-guessing-selector-GUI object 1812.Game object 1816 next sends a display-trivia-quiz-GUI(displayTriviaQuizGUI( . . . )”) message 1968, instantiating atrivia-quiz-GUI object 1914. Object 1914 is an instance of class 1725.Message 1968 passes trivia-quiz-question node ID 1962A, and trivia-quizquestion 1968A which is the text for the question. An example of thistext as represented in the interface is 412A1 of FIG. 4. Message 1968also passes a trivia-quiz-by-category-index (“trivQuizByCatIndx”)parameter 1968B. Parameter 1968B is the index of the question for thegiven category 1950A. Parameter 1968B enables the interface to represent410A2 of FIG. 4. Message 1968 also passes atrivia-quiz-by-category-total (“trivQuizByCatTot”) parameter 1968C. Thisis the total number of trivia-quizzes or trivia-quiz questions withinthe selected category 1950A for the given guess-the-phrase-word.Parameter 1968C is represented as 410A3 in FIG. 4. Message 1968 alsopasses category 1950A. This is represented as 410A1 in FIG. 4. Gameobject 1816 also displays answering-turn-display component 470 of FIG.4. In the present embodiment, method 1968 of FIG. 19 provides detail onthe first exposure means.

A display-turn-GUI (“displayTurnGUI( )”) message 1970 instantiates aturn-GUI object 1916. Message 1970 passes; an array of players, in orderof control (“controlSeq”) 1970A, an index 1970B of 1970A for the playerwith answering privilege (“ansPrivIndex”), and a reference to a “clock”object 1970C, to keep the time remaining for an answer.

Sequence Diagram—Attempt Trivia-Quiz—FIG. 20

FIG. 20 shows the sequence diagram for attempting a trivia-quiz to thepoint of the game object checking the attempt. Trivia-quiz-GUI object1914 for the player with control sends a submit-guess (“submitGuess( . .. )”) message 2050 to controller object 1814, passing;trivia-quiz-question node ID 1962A, reference 1850B to the player, andan attempt (“attempt”) 2050A representing the text guess submitted bythe player. Method 2050 deals with a first guessing means. The rest ofFIG. 20 generally deals with a first validation means.

Controller object 1814 sends a validate-attempt (“validateAttempt( . . .)”) message 2052 to game object 1816, passing 1962A, 1850B, and 2050A.Next, game object 1816 calls its validate-answering-privilege(“validateAnsPriv( . . . )”) method 2054 to validate that the player hasanswering privilege. It then calls a lookup-trivia-quiz-answer-node(“lookupTQANd( )”) method 2056 of trivia-quiz-question object 1912 forthe trivia-quiz-question node, getting a reference 2057 to thetrivia-quiz answer node (“TQANd”).

Game object 1816 next calls a get-node-state (“getNodeState( )”) method2058 of trivia-quiz-answer object 1910 for the trivia-quiz-answer node.On condition 1858 that the node state is available, game object 1816calls a set-active-node (“setActiveNode( . . . )”) method 2059 for atrivia-quiz-answer node, to set a trivia-quiz-answer node ID (“TQANdID”)2059A as the active node.

Game object 1816 next calls a get-valid-answers (“getValidAnswers( )”)method 2060 of object 1910, which returns an array of valid answers(“validAnswers[ ]”) 2061. Each valid answer in array 2061 is considereda successful match for the corresponding question. Object 1816 nextcalls its check-attempt (“checkAttempt( . . . )”) method 2062 to checkattempt 2050A against array of valid answers 2061. The result is‘success’ or ‘failure’, which determines the subsequent sequence.

Sequence Diagram—Trivia-Quiz Correct Attempt Part 1—FIG. 21

FIG. 21 shows part one of the sequence when a trivia-quiz guess gives asuccessful result. Game object 1816 sends a set-node-state(“setNodeState( . . . )”) message 2150 to trivia-quiz-question object1912 for the trivia-quiz-question node. Message 2150 passes an“answered” value 2150A which sets the node-state to “answered”. Gameobject 1816 also sends a set-node-state (“setNodeState( . . . )”)message 2152 to trivia-quiz-answer object 1910 for thetrivia-quiz-answer node, passing 2150A. This sets the node state of 1910to “answered”.

Game object 1816 calls a get-answer (“getAnswer( )”) method 2154 of1910. This method gets the exact answer for the trivia-quiz questionthat will be displayed in the user interface. Game object 1816 nextcalls a lookup-guess-the-phrase-word-node (“lookupGTPWNd( )”) method2156 of trivia-quiz-answer object 1910 for the trivia-quiz-answer nodeto get a reference to the guess-the-phrase-word node. Game object 1816then calls a lookup-guess-the-phrase-phrase-node (“lookupGTPPNd( )”)method 2158 to get a reference 2160 to the (top-level)guess-the-phrase-phrase node. Game object 1816 next calls itsset-active-node (“setActiveNode( . . . )”) method 2162 to set the activenode to guess-the-phrase-phrase node ID (“GTPPNdID”) 2162A.

Game object 1816 next initiates an update-score (“updateScore( . . . )”)sequence 2164, passing a reference to the player (“player”) 1850B whosescore is to be updated and the points (“points”) 2164A, by which thescore is to be updated. The score is updated in a round object 2110,which is a current instance of round class 1715. The score is alsoupdated in a match object 2112, which is a current instance of matchclass 1718. Update-score sequence 2140 is covered with FIG. 22.

On a condition 2165 that the player who answered the question is not theplayer who currently has control, game object 1816 calls itsset-control-index (“setControlIndex( . . . )”) method 2166 to setcontrol to current player 1850B. Game object 1816 calls itsreset-answering-privilege-index (resetAnsPrivIndex( )”) method 2168 toreset the answering-privilege index to the index number of the playerwith control.

Sequence Diagram—Update Score—FIG. 22

FIG. 22 shows the update-score sequence diagram. Game object 1816 callsan update-score (“updateScore( . . . )”) method 2250 of round object2110, passing a reference to the player 1850B whose score is to bechanged, and the points (“points”) 2164A by which the player's score isto be changed. It then calls a get-scores (“getScores( )”) method 2252of round object 2110 to get an array of player scores for the currentround.

Game object 1816 also calls an update-score (“updateScore( . . . )”)method 2254 of match object 2112, passing 1850B and 2164A. It then callsa get-scores (“getScores( )”) method 2256 of match object 2112 to get anarray of player scores for the match.

Sequence Diagram—Trivia-Quiz Correct Attempt Part 2—FIG. 23

FIG. 23 shows part two of the sequence when the attempt for atrivia-quiz is correct, continuing from FIG. 21. Game object 1816 sendsa close-trivia-quiz-GUI (“closeTriviaQuizGUI( )”) message 2350 to closetrivia-quiz-GUI object 1914. Game object 1816 also sends anupdate-navigation-mode-GUI (“updateNavModeGUI( . . . )”) message 2352 tonavigation-mode-GUI object 1810. Message 2352 passestrivia-quiz-answer-node ID 2059A and a trivia-quiz answer(“triviaAnswer”) 2352A to be displayed by navigation-mode-GUI object1810. In FIG. 23, message 2352 generally deals with a second exposuremeans.

Game object 1816 also calls an update-control-and-score-GUI(“updateCntrl&ScoreGUI( . . . )”) message 2354 to control-and-score-GUI(“Cntrl&ScoreGUI”) object 2310. Object 2310 is an instance of class1724. Score-and-control component 9530 is depicted in FIG. 95. Message2354 passes an array of player scores for the round(“round.player.score[ ]”) 2354A, and match (“match.player.score[ ]”)2354B, an array of players, in order of control (“controlSeq”) 1970A,and an index 2354C of 1970A for the player with control (“cntrlIndex”).

Sequence Diagram—Trivia-Quiz Incorrect Attempt—FIG. 24

FIG. 24 shows the sequence diagram when a trivia-quiz guess isincorrect. Game object 1816 initiates update-score sequence 2164,passing player reference 1850B and points 2164A. The score is updated inround object 2110 and match object 2112 as detailed in update-scoresequence 2140 (FIG. 22). Game object 1816 then calls itsnext-answering-privilege (“nextAnsPriv( )”) method 2450 to passanswering privilege to the next player in sequence.

An alternative combination fragment 2452 contains two mutually exclusivemessage sequences. Condition 2454 describes a case where one or moreplayers have yet to respond to the current trivia-quiz. Condition 2454checks that control index 2354C value is not equal toanswering-privilege index 1970B value. On condition 2454, anupdate-trivia-quiz-GUI (“updateTrivQuizGUI( . . . )”) message 2456 issent to trivia-quiz-GUI object 1914, passing trivia-quiz-question nodeID 1962A.

Alternatively, on a condition 2458 that control index 2354C value isequal to answering-privilege index 1970B value, a close-trivia-quiz-GUI(“closeTriviaQuizGUI( )”) message 2460 is sent to trivia-quiz-GUI-object1914. Game object 1816 then calls its reset-answering-privilege-index(“resetAnsPrivIndex( )”) method 2168 to reset the answering-privilegeindex. Method 2168 sets the answering-privilege index to the controlindex. Game object 1816 next calls a lookup-trivia-quiz-answer-nodemethod 2056 of trivia-quiz-question object 1912 for thetrivia-quiz-question node. It gets a reference (not shown) to thetrivia-quiz-answer-node. Game object 1816 then callslookup-guess-the-phrase-word-node method 2156 to get a reference to theguess-the-phrase-word node (not shown). Game object 1816 next callslookup-guess-the-phrase-phrase-node method 2158 to get a reference (notshown) to the guess-the-phrase-phrase node. Game object 1816 next callsits set-active-node method 2162 to set the active node toguess-the-phrase-phrase node ID 2162A. Game object 1816 then sends anupdate-navigation-mode-GUI message 2352 to navigation-mode-GUI object1810, passing guess-the-phrase-phrase node ID 2162A.

With either alternative, game object 1816 sends anupdate-control-and-score-GUI message 2354 to control-and-score-GUIobject 2310. Message 2354 includes round and match scores 2354A and2354B, as well as control sequence array 1970A and control index 2354C.

Sequence Diagram—Trivia-Quiz Pass—FIG. 25

FIG. 25 shows the sequence diagram when a player passes on making anattempt at solving a trivia-quiz. A pass (“pass( . . . )”) message 2550is sent from trivia-quiz-GUI object 1914 to controller object 1814.Message 2550 includes trivia-quiz-question node ID 1962A and a reference1850B to the player. Controller object 1814 sends a pass message 2552 togame object with parameters 1962A and 1850B.

Game object 1816 calls its validate-answering-privilege method 2054 tovalidate that player 1850B has answering privilege. If for any reasonplayer 1850B does not have answering privilege, error handling (notshown) occurs. Game object 1816 next calls next-answering-privilegemethod 2450 to pass answering privilege to the next player in sequence.Alternative combination fragment 2452, describing the remainder of thesequence, is the same as in FIG. 24.

Sequence Diagram—Attempt Word—FIG. 26

FIG. 26 shows the sequence diagram when a player attempts to solve aquiz-able-word. When a player with control opts to solve a word,navigation-mode-GUI object 1810 is replaced by a word-guessing mode-GUIobject 2610 based on an exchange of messages from the view to thecontroller and game and back to the view (not shown). Object 2610 is aninstance of class 1728 from FIG. 17.

Next, a submit-word-guess (“submitWordGuess( . . . )”) message 2650 issent from word-guessing-mode-GUI (“WdGuessingModeGUI”) object 2610 tocontroller object 1814. Passed in message 2650 are guess-the-phrase-wordnode ID 1850A, a reference 1850B to the player, and a word attempt(“wordAttempt”) 2650A. Message 2650 deals with a second guessing means.The rest of FIG. 26 generally deals with a second validation means.

Next, controller object 1814 send a validate-word-attempt(“validateWordAttempt( . . . )”) message 2652 to game object 1816,passing 1850A, 1850B and 2650A. Game object 1816 next calls itsvalidate-answering-privilege method 2054, validating if player 1850B hasanswering privilege. It next calls get-node-state method 1856 ofguess-the-phrase-word instance 1818 for the guess-the-phrase-word node.On condition 1858 that the node state is available, game object 1816calls its set-active-node method 1859 to set the active node to theguess-the-phrase-word node ID 1850A. Game object 1816 then calls aget-valid-answers (“getValidAnswers( )”) method 2654 ofguess-the-phrase-word instance 1818 for the guess-the-phrase-word node.Method 2654 returns an array of valid word answers (“validWdAnswers[ ]”)2655. Game object 1816 next calls its check-word-attempt(“checkWordAttempt( . . . )”) method 2656 to check word attempt 2650Aagainst array of valid answers 2655.

Sequence Diagram—Word Correct Attempt—FIG. 27

FIG. 27 shows the sequence diagram when an attempt at a quiz-able-wordis correct. Game object 1816 calls a set-node-state (“setNodeState( . .. )”) method 2750 of guess-the-phrase-word instance 1818 for theguess-the-phrase-word node. Message 2750 passes an “answered” value2150A which sets the node-state to “answered”.

Game object 1816 next calls a get-answer (“getAnswer( )”) method 2752 ofobject 1818. Method 2752 gets the exact answer for the word that will bedisplayed in the user interface. Game object 1816 then callslookup-guess-the-phrase-phrase node method 2158 to get a reference 2160to the guess-the-phrase-phrase node. Object 1816 next calls itsset-active-node method 2162 to set the active node toguess-the-phrase-phrase node ID 2162A.

Game object 1816 next initiates update-score sequence 2164, passingplayer reference 1850B and points 2164A. The score is updated in roundobject 2110, and in match object 2112 as detailed in update-scoresequence 2140 (FIG. 22).

On condition 2165 that the player who answered the question is not equalto the player who currently has control, game object 1816 calls itsset-control-index method 2166 to set control to the current player1850B. Game object 1816 next calls its reset-answering-privilege-indexmethod 2168 to reset the answering-privilege index to the index numberof the player with control.

Game object 1816 next sends an update-navigation-mode-GUI message 2352to navigation-mode-GUI object 1810. Message 2352 passes 2162A and a wordanswer (“wordAnswer”) 2753 to be displayed in the phrase component. InFIG. 27, message 2352 deals with a third exposure means. Game object1816 also sends update control-and-score-GUI message 2354 tocontrol-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and2354C.

Sequence Diagram—Word Incorrect Attempt—FIG. 28

FIG. 28 shows the sequence when a guess at a quiz-able-word isincorrect. Game object 1816 sends update-score messages 2164, passing1850B and 2164A. The score is updated in round object 2110 and matchobject 2112 as detailed in update-score sequence 2140.

Game object 1816 calls its next-control (“nextControl( )”) method 2850to pass control to the next player in the control sequence. Object 1816then calls its reset-answering-privilege-index method 2168.

Game object 1816 next calls lookup-guess-the-phrase-phrase-node method2158 of object 1818 to get a reference to the guess-the-phrase-phrasenode. It next calls its set-active-node method 2162, setting the activenode to guess-the-phrase-phrase node ID 2162A. Game object 1816 thensends update-navigation-mode-GUI message 2352 to navigation-mode-GUIobject 1810, passing guess-the-phrase-phrase node ID 2162A. Object 1816then sends update-control-and-score-GUI message 2354 tocontrol-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and2354C.

Sequence Diagram—Buy Word—FIG. 29

FIG. 29 shows the sequence for buying a filler-word. Abuy-filler-word-menu-GUI (“BuyFillerWdMenuGUI”) object 2910 sends abuy-filler-word (“buyFillerWord( . . . )”) message 2950 to controllerobject 1814, passing guess-the-phrase-word node ID 1850A and playerreference 1850B. Controller object 1814 sends a buy-filler-word message2952 to game object 1816, passing 1850A and 1850B. Abuy-filler-word-check (“buyFillerCheck( )”) method 2954, checks that afiller-word was not bought since control was reset. If the check showsthat a filler-word was bought since control was reset, error handlingoccurs (not shown). This should not occur, since the view is updated toprevent players from taking invalid actions. An index for method 2954 ismaintained when control is reset (not shown).

Game object 1816 calls validate-control method 1854. Object 1816 nextcalls get-node-state method 1856 of the guess-the-phrase-word object. Oncondition 1858 that the node state is available, game object 1816 callsset-active-node method 1859 to set the active node toguess-the-phrase-word node ID 1850A. Game object 1816 then callsget-answer method 2752 of guess-the-phrase-word instance 1818 for theguess-the-phrase-word node, to get the filler-word answer. Object 1816then calls set-node-state method 2750 of 1818 to set the node state to“revealed” 2955.

Game object 1816 next sends update-score messages 2164, passing 1850Band 2164A. Score is updated in round object 2110, and match object 2112as detailed in update-score sequence diagram 2140.

Game object 1816 sends an update message 2352 to navigation-mode-GUIobject 1810, passing phrase node ID 2162A, word node ID 1850A, and wordanswer 2753. Game object 1816 also sends an update message 2354 tocontrol-and-score-GUI object 2310, passing round and match scores 2354Aand 2354B, control sequence array 1970A and control index 2354C.

Sequence Diagram—Attempt Phrase—FIG. 30

FIG. 30 shows the sequence for an attempt to solve the top-level phrase.When a player with control opts to solve the phrase, navigation-mode-GUIobject 1810 is replaced by phrase-guessing mode-GUI object 3010 based onan exchange of messages from the view to the controller and game andback to the view (not shown). Phrase-guessing-mode-GUI object 3010 sendsa submit-phrase-guess message 3050 to controller object 1814, passing2162A, 1850B, and a phrase-attempt array containing the phrase attempt(“attempt[ ]”) 3050A. Phrase-attempt array 3050A is indexed for eachword in the phrase and contains a null value for previously revealedwords.

Controller object 1814 sends a submit-phrase-guess message 3052 to gameobject 1816, passing 2162A, 1850B, and 3050A. Game object 1816 calls itsvalidate-answering-privilege method 2054 to validate that player 1850Bhas answering privilege. Game object 1816 then calls get-node-statemethod 3054 of a guess-the-phrase-phrase object 3012 for theguess-the-phrase-phrase node. On condition 1858 that the node state isavailable, game object 1816 calls its set-active-node method 2162 to setthe guess-the-phrase-phrase node 2162A as active.

A loop-combined fragment 3058 shows the sequence for validating thephrase attempt word by word. Loop 3058 continues while condition 3059 ismet. Condition 3059 checks that the previous word in the phrase that wassubmitted for checking was found to be correct. For each “n” 3056A wordin the phrase, game object 1816 calls a lookup-nth-guess-the-phrase-wordnode (“lookupGTPWdNd(n)”) method 3056 of guess-the-phrase-phrase object3012.

Game object 1816 next calls a get-nth-word-node-state(“getNodeState(n)”) method 3062 of n-th guess-the-phrase-word object3060A. On a condition 3063 that the n-th word node-state is unsolved,game object 1816 calls a get-valid-answers (“getValidAnswers( )”) method3064 of the n-th guess-the-phrase-word object 3060A. Game object 1816calls a check-word-attempt (“checkWdAttempt( )”) method 3066 to validaten-th word attempt 3050B against an array of valid answers 3065. If theloop executes without breaking, the phrase attempt is valid; otherwiseit is invalid.

Sequence Diagram —Attempt Phrase Incorrect Attempt—FIG. 31

FIG. 31 shows the sequence for an incorrect attempt to solve thetop-level phrase. Game object 1816 sends update-score messages 2164,passing 1850B and 2164A. The score is updated in round object 2110, andmatch object 2112 as detailed in update-score sequence 2140 shown inFIG. 22.

Game object 1816 calls its next-control method 2850 to pass control tothe next player in the control sequence. Game object 1816 then callsreset-answering-privilege-index method 2168. Game object 1816 next sendsan update-navigation-mode-GUI message 2352 to navigation-mode-GUI object1810, passing guess-the-phrase-phrase node ID 2162A. Game object 1816also sends message 2354 to control-and-score-GUI object 2310, passing2354A, 2354B, 1970A, and 2354C.

Sequence Diagram —Attempt Phrase Correct Attempt—FIG. 32

FIG. 32 shows the sequence for a correct attempt to solve the phrase.Game object 1816 calls set-node-state method 3250 ofguess-the-phrase-phrase object 3012 for the guess-the-phrase-phrase nodeto set its state as “answered” 3250A. Game object 1816 next callsget-phrase-answer (“getPhraseAnswer( )”) method 3252 ofguess-the-phrase-phrase object 3012. Object 3012 returns phrase answer(“PhraseAnswer[ ]”) 3253, a sequential array of words comprising thephrase.

Game object 1816 sends update-score messages 2164. Score is updated inround object 2110, and match object 2112 as detailed in update-scoresequence 2140 shown in FIG. 22.

Game object 1816 sends a draw-finished-mode-GUI (“drawFinishedModeGUI( .. . )”) message 3254 to a finished-mode-GUI-object 3210, which replacesnavigation-mode-GUI object 1810. Message 3254 passes 2162A and phraseanswer 3253. Game object 1816 also sends message 2354 tocontrol-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and2354C.

Quiz Database

The features of the present embodiment, as well as other embodiments tofollow, are supported by a quiz database. The relational database designcontains structures for supporting a game, as well as for buildingquiz-trees and maintaining history information.

Quiz-Generation Schema—FIGS. 33-40

A discussion of the schema used for quiz-generation is included in thediscussion of FIGS. 33 to 40. Some of the entities discussed in FIGS.33-40 also supply quiz data at game runtime. Custom computer codefacilitates the generation of complete quiz-trees from data in thequiz-generation schema. Nodes are recursively associated in a nodeentity, providing a basis for linking clues and answers to form quizzes,and for linking quizzes to one another.

Entity Relationship Diagram—FIG. 33

A quiz database can contain raw information on which quiz-trees are tobe built. FIG. 33 shows expression (“Expression”) entity 3310 whichrepresents expressions, or phrases that can be used to make quizzes. Inthe context of the schema, expressions have their words storedseparately.

Each expression in expression entity 3310 is identified by a primary key“ExpressionID” 3310A. A primary key column 3352 is indicated by a symbol“PK” 3350. Attributes are used to help classify expressions to assist incustomizing and automating the assembly of quiz-trees. Attributes forexpression entity 3310 include; a number of words in an expression(“NumWords”) 3310B, a number of quiz-able-words in an expression(“NumQuizzableWords”) 3310C, and a number of filler ornon-quiz-able-words in an expression (“NumNonQuizzableWords”) 3310D.Other attributes are flags “IsSuitableForQuestionYN?” 3310E,“IsSuitableForAnswerYN?” 3310F and “IsSuitableForGuessThePhraseYN?”3310G that indicate the suitability of the expression for specific typesof nodes.

FIG. 33 shows the relationship between expression entity 3310 and acanned quiz (“CannedQuiz”) entity 3311. Canned quiz entity 3311 containsdata for “canned” quizzes. A canned quiz question (clue), represented asa question-text (“QuestionTxt”) attribute 3311B, is a string that is notstored as its component words. It is generally an expression (havingmore than one word), although not a schema expression as defined. Acorresponding answer to a canned quiz question is represented by primarykey 3310A of expression entity 3310. This is a foreign key“ExpressionID_Answ” 3311A in 3311. A symbol “PF” 3354 is used to denotea foreign-key-primary-key column 3356. An example of a canned-quizquestion is 412A1 of FIGS. 4 and 5. An example of an answer to a cannedquiz is the answer to 412A1, shown as 416A of FIGS. 5 and 230A1 of FIG.6. The purpose of storing a quiz answer by its words, using expressionentity 3310 is to assist in relating those words, represented as nodes,to other nodes in a quiz-tree. There is a cardinality of zero-or-one3358 between canned quiz entity 3311 and expression entity 3310,indicating there are other types of expressions besides canned-quizanswers. Canned quiz entity 3311 also has attributes“TotalCorrectAttempts” 3311C and “TotalWrongAttempts” 3311D to recordhistory information. Attributes 3311C and 3311D can be used to customizequizzes by difficulty as calibrated by player responses. They areexemplary of the type of supporting data that can be stored.

A subject category (“SubjectCategory”) entity 3314 contains a primarykey, category code (“CategoryCode”) 3314A and an attribute“CategoryDescription” 3314B. Composite entity“CannedQuiz_SubjectCategory” 3312 contains a composite key comprisingforeign-key-primary-key column 3312A from primary key 3311A of entity3311, and foreign-key-primary-key column 3312B from primary key 3314A ofentity 3314. Subject category information is stored at theexpression-level to assist in building quiz-trees comprising categorizedquizzes.

Entity Relationship Diagram—FIG. 34

Expression entity 3310 has a one-to-many relationship with anexpression-word (“ExpressionWord”) entity 3410. Entity 3410 representsthe words that are contained in expressions. Entity 3410 has a compositeprimary key consisting of a foreign-key-primary-key column 3410A fromprimary key 3310A of entity 3310 and a word-number-in-expression(“WordNumInExp”) attribute 3410B. Attribute 3410B records the wordposition in its expression. Entity 3410 contains attribute“IsDictionaryWordYN?” 3410C. This attribute indicates whether or not anexpression-word is a dictionary-word. A dictionary-word is a wordderived from an external or custom dictionary. If an expression word isnot a dictionary word it is a non-dictionary word. A non-dictionary wordmight by a word like “McFly”, a fictional last name that is notestablished in the lexicon. However, in the remaining discussion, it isassumed all expression-words are stored in dictionary word entity 3416.Entity 3410 contains attribute “IsQuizzableWordYN?” 3410D. Attribute3410D indicates whether or not an expression-word is a quiz-able-word inits expression. If a word is not a quiz-able-word it is a filler-word.Expression-word entity 3410 contains attribute “IsCapitalizedYN?” 3410E.Attribute 3410E indicates whether or not an expression-word appears withcapitalization in its phrase, such as a first or last name.

A dictionary-word (“DictionaryWord”) entity 3416 contains words that aresourced from a dictionary. Entity 3416 contains a primary key“DictionaryWordID” 3416A and a word-text “WordTxt” attribute 3416B, fordictionary-word text. Composite entity “ExpressionWordDictWord” 3412 hasa composite primary key 3412P referencing primary key columns 3410A,3410B, and 3416A. These are foreign-key-primary-keys 3412A, 3412B, and3412C respectively in entity 3412.

Non-dictionary word (“NonDictionaryWord”) entity 3418 contains wordsthat are provided from outside a dictionary. Practically, it representsa second repository of words. Entity 3418 has a primary key“NonDictionaryWordID” 3418A and word-text (“WordTxt”) attribute 3418B,that has the text of a non-dictionary word. Composite entity“ExpressionWordNonDictWord” 3414 has a composite primary key 3414Pconsisting of primary key columns 3410A, 3410B, and 3418A.

Entity Relationship Diagram—FIG. 35

FIG. 35 shows entities for relating dictionary words to one another. Anentity dictionary-word—dictionary-word—contains (“DictWd_Dict:Contains”)3510 is used to relate a word in the dictionary with another word in thedictionary based on the fact that a given word contains another word.Entity 3510 has a foreign-key-primary-key 3510P consisting of a foreignkey column 3510A from primary key 3416A of dictionary word entity 3416,and a second foreign key column 3510B from primary key 3416A of entity3416. An example record would contain a “DictionaryWordID” representingthe word “appointment” and a “DictionaryWordID1” representing word“ointment”.

Another entity, dictionary-word—dictionary-word—contained by“DictWd_DictWd:ContainedBy” 3511 is similar to entity 3510. An examplerecord would contain a DictionaryWordID of “ointment” and aDictionaryWordID1 of “appointment”. Given the word “ointment” a lookupwould get the word “appointment”. A match on these two words allows anode representing the expression “Appointment for Love” to be related toa node representing the word “ointment”.

The remainder of the composite entities in FIG. 38 are similar to 3510.A dictionary-word—dictionary-word—alternate spelling(“DictWd_DictWd:AlternateSpelling”) entity 3512 might contain as anexample record the dictionary word IDs for the words “Africa” and“Afrika”. A dictionary-word—dictionary-word—tense of(“DictWd_DictWd:TenseOf”) entity 3514 might contain as an example recordthe dictionary word IDs for the words “fly” and “flew”. Adictionary-word—dictionary-word—abbreviation-or-long-form(“DictWd_DictWd:AbrevOrLongFm”) entity 3516 might contain as an examplerecord the dictionary word IDs for the words “Doctor” and “Dr”.

A dictionary-word—dictionary-word—synonym-of (“DictWd_DictWd:SynonymOf”)entity 3520 might contain as an example record the dictionary word IDsfor the words “fly” and “bug”. Adictionary-word—dictionary-word—antonym-of (“DictWd_DictWd:AntonymOf”)entity 3522 might contain as an example record the dictionary word IDsfor the words “love” and “hate”.

A dictionary-word—dictionary-word—root-or-derivative-of(“DictWd_DictWd:RootOrDerivOf”) entity 3518 has aforeign-key-primary-key 3518P. Primary key 3518P consists of foreign keycolumn 3518A from primary key 3416A of dictionary word entity 3416, anda second foreign key column 3518B from primary key 3416A of entity 3416.Entity 3518 might contain as an example record the dictionary word IDsfor the words “fly” and “flight”. Other relations for relatingdictionary words are possible.

Entity Relationship Diagram—FIG. 36

FIG. 36 depicts the entities used to find an expression that contains adictionary word that is a root or derivative of a dictionary wordcontained in a given expression.

An “ExpWdDictWd_DictWd_DictWd:RootOrDerivativeOf” entity 3610 is acomposite of “ExpressionWordDictWord” entity 3412 and“DictWd_DictWd:RootOrDerivOf” entity 3518. Its primary key 3610P isconcatenated from complete primary key 3412P of entity 3412 and completeprimary key 3518P of entity 3518. Entity 3610 hasforeign-key-primary-key columns 3610A, 3610B, 3610C, 3610D, and 3610Efrom primary key columns 3412A, 3412B, 3412C, 3518A, and 3518Brespectively. There is a record in 3610 for each match of 3412C in 3412to 3518A in 3518.

An entity “ExpWdDictWd_ExpWdDictWd_DictWd-DictWd: RootOrDerivativeOfl”3612 is a composite entity of entities 3610 and 3412. Its primary key iscomposed of foreign-key-primary-key columns 3612A-3612F. These refer toprimary key columns 3412A, 3412B, 3412C, 3610A, 3610B, and 3610Crespectively. Entity 3612 also has foreign keys 3612G and 3612Hreferring to 3610D and 3610E respectively.

There is a record in entity 3612 for every match of 3412C in 3412 to3610E in entity 3610. Entity 3612 serves as a lookup table to findexpressions that contains a word that is a root or derivative of a wordin another, given expression. Included with the expressions that arefound from 3612 is the position 3612B of the root or derivate word inits expression.

In the sample iteration, entity 3610, or an equivalent query or view, isused to lookup “ExpressionID1” 3612D representing trivia-quiz answer“The Flight of the Phoenix” 230A2 from “ExpressionID” 3612A representingtop-level phrase “A fly in the ointment” 1410. This is accomplishedthrough a relationship of the word “fly” in the top-level expressionwith its derivative word “flight” in a trivia-quiz answer expression.Entity 3610 can therefore be called the“lookup-expression-having-a-root-or-derivative-word” entity.

In another of the four examples, top-level expression 1410 was relatedto trivia-quiz answer 230A1 by virtue of a ‘contained-by’ relationship,whereby the word “fly” is contained by “McFly”. Building compositeentities like 3610 and 3612 by replacing entity 3518 with entity 3511from FIG. 35 would give a “lookup-expression-having-a-containing-word”entity for this purpose.

In another of the four examples, top-level expression 1410 was relatedto trivia-quiz answer 230B1 by virtue of another ‘contained-by’relationship, whereby the word “ointment” is contained by “appointment”.Expressions 1410 and 230B1 would also be related by a“lookup-expression-having-a-containing-word” entity.

In the final example, top-level expression 1410 was related totrivia-quiz answer 230B2 by virtue of a ‘synonym’ relationship, wherebythe word “ointment” is a synonym of “Cream”. Building composite entitieslike 3610 and 3612 by replacing entity 3518 with entity 3520 from FIG.35 would give a “lookup-expression-having-a-synonym” entity for thispurpose. Following the pattern,‘lookup-expression-where-a-word-contains’,‘lookup-expression-having-an-alternate-spelling’,‘lookup-expression-having-a-tense-of’,‘lookup-expression-having-an-abbreviation-or-long-form’, and‘lookup-expression-having-an-antonym’ entities, are built. Many othertypes of lookup entities are possible. In general, such entities arecalled ‘lookup-expression’ entities.

Entity Relationship Diagram—FIG. 37

FIG. 37 shows a Node entity 3710. It has a node ID (“NodeID”) primarykey 3710A. Entity 3710 includes attribute “IsExpressionYN?” 3710B whichflags whether a node is an expression. Redundant attribute“IsNotAnExpressionYN?” 3710C flags whether a node is not an expression.Entity 3710 includes a one to zero-or-one self-join 3710J withparent-node-ID (“ParentNodeID”) 3710D being a foreign key referring toprimary key 3710A. Also included is a redundant attribute node-level(“NodeLevel”) 3710E which represents a node-level of a node in its tree.Also included is a tree ID (“TreeID”) foreign key 3710F.

Node entity 3710 has a one-to-zero-or-one cardinality 3711 with anon-expression-node (“NonExpressionNode”) entity 3712. Primary key 3710Aserves as a foreign-key-primary-key 3712A of entity 3712. Attributes of3712 include flags indicating a type of non-expression-node. These flagsare; is-it-a-canned-quiz-question-yes-or-no (“IsCannedQuizQuestionYN?”)3712B, is-it-a-guess-the-phrase-word-node-yes-or-no(“IsGuessThePhraseWordYN?”) 3712C, is-it-a-multi-media-clip-yes-or-no(“IsMMClipYN?”) 3712D, is-it-a-sound-clip-yes-or-no (“IsSoundClipYN?”)3712E, is-it-a-picture-yes-or-no (“IsPictureYN?”) 3712F,is-it-a-concealed-picture-puzzle-yes-or-no(“IsConcealedPicturePuzzleYN?”) 3712G. Only flags 3712A and 3712B applyto the detailed embodiment.

Node entity 3710 has a one-to-zero-or-one cardinality 3713 with anexpression-node (“ExpressionNode”) entity 3714. Primary key 3710A servesas a foreign-key-primary-key column 3714A in entity 3714. Anotherforeign-key-primary-key column, an expression ID (“ExpressionID”) 3714Bcolumn, comes from primary key 3310A of entity 3310. Aone-to-zero-or-many cardinality 3715 exists between entities 3310 and3714. Together, 3714A and 3714B form the primary key of entity 3714.Flag attributes of 3714 indicate a type of expression-node. Anis-it-a-derived-clue-yes-or-no (“IsDerivedClueYN?”) attribute 3714Cindicates whether an expression-node is a clue (to a one-higher answer)that is derived from the quiz-generation schema. For example, a node canbe related to a one-higher node on the basis of entity 3612 of FIG. 36.An is-it-the-answer-to-a-canned-quiz-question-yes-or-no(“IsCannedQuizAnswerYN?”) attribute 3714D indicates whether anexpression-node is the answer to a ‘canned’ (non-expression)quiz-question. An is-it-a-guess-the-phrase-phrase-yes-or-no(“IsGuessThePhrasePhraseYN?”) attribute 3714E indicates whether anexpression-node is a guess-the-phrase-phrase.

Entity Relationship Diagram—FIG. 38

FIG. 38 depicts two different types of non-expression-node entities usedin the detailed embodiment. Node ID 3712A of “NonExpressionNode” entity3712 is a foreign-key-primary-key column 3810A of acanned-quiz-question-node (“CannedQuizQuestionNode”) entity 3810. Column3810A is part of the primary key of entity 3810. Foreign-key-primary-keycolumn 3810B from primary key 3311A from entity 3311 is the other column3810B of the primary key of entity 3810. There is a one-to-zero-or-onecardinality 3811 between entities 3712 and 3810. Also included in entity3810 are flag attributes; has-multiple-choice-answer-yes-or-no(“HasMCAnswerYN?”) 3810C and has-text-input-answer-yes-or-no(“HasTextInputAnswerYN?”) 3810D.

Node ID 3712A of “NonExpressionNode” entity 3712 is aforeign-key-primary-key column 3812A of a guess-the-phrase-word-node(“GuessThePhraseWordNode”) entity 3812. Foreign-key-primary-key columns3812B and 3812C from primary key columns 3410A and 3410B of entity 3410are the other primary key columns of entity 3812. There isone-to-zero-or-one cardinality 3813 between entities 3712 and 3812.

Entity Relationship Diagram—FIG. 39

FIG. 39 shows more detail for entities 3810 and 3812.“CannedQuizQuestionNode” entity 3810 has ExpressionID_Answforeign-key-primary-key column 3810B from primary key 3311A from“CannedQuiz” entity 3311. “GuessThePhraseWordNode” entity 3812 hasprimary key columns 3410A and 3410B of “ExpressionWord” entity 3410 asforeign-key-primary-key columns 3812B and 3812C. “ExpressionID” primarykey column 3410A is “ParentExpressionID” primary key column 3812B inGuessThePhraseWordNode entity 3812. “WordNumInExp” primary key column3410B in entity 3410 is “WordNumInParentExp” primary key column 3812C inentity 3812.

Entity Relationship Diagram—FIG. 40

FIG. 40 introduces a tree (“Tree”) entity 4010. Tree entity 4010 has atree ID (“TreeID”) primary key 4010A. All nodes belonging to a singlequiz-tree can be identified by their tree ID on the basis of a foreignkey 3710F. The tree ID in node entity 3710 is strictly-speakingredundant in terms of identifying all the nodes belonging to someunidentified ‘tree’. This is because the unique nature of node IDprimary key 3710A combined with foreign key 3710D allows all nodesbelonging to one (unidentified) ‘tree’ to be related back to that tree,in their proper position. However, representing distinct trees allowstrees to be managed as distinct entities. This facilitates more advancedgame management, for example, preventing the same player from accessinga tree more than once. Other attributes of tree entity 4010 are anis-template-yes-or-no “IsTemplateYN?” attribute 4010B, and anaverage-player-rating “AveragePlayerRating” attribute 4010C. Attribute4010B records whether a tree is a standard template. If not, it mighthave been created by a game player for limited or one-time use.Attribute 4010C records average ratings of trees as provided by playerfeedback. This attribute presumes functionality for surveying playersatisfaction. A tree-created-by-player-ID (“TreeCreatedByPlayerID”)foreign key 4010D from a player entity records the player who created atree, if applicable, presuming functionality for player creation oftrees.

Entity Relationship Diagram—FIG. 41

FIG. 41 introduces a player (“Player”) entity 4110. It has a player ID(“PlayerID”) primary key 4110A, and attributes; first name (“FName”)4110B and last name (“LName”) 4110C. For an enhancement where playerscan create quiz-trees, primary key “PlayerID” 4110A is a foreign key“TreeCreatedByPlayerID” 4010D in tree entity 4010.

Composite tree-player (“Tree_Player”) entity 4112 hasforeign-key-primary-key columns 4112A and 4112B referencing primary keys4010A and 4110A respectively. Entity 4112 includes aplayer-rating-of-tree (“PlayerRatingOfTree”) attribute 4112C thatrecords player ratings of trees. Individual player ratings are used toderive “AveragePlayerRating” 4010C of tree entity 4010.

Sequence Diagram—Tree Formulator Part 1—FIG. 42

Quiz data represented by entities shown in FIG. 33-40 must be related tonodes within quiz-trees. FIG. 42 introduces a tree-formulator(“:TreeFormulator”) object 4210 that organizes quiz data intoquiz-trees. First, object 4210 is initialized withtree-formula-initialization method (“initTreeFormulator( )”) 4250. Noinitialization parameters are shown, but arguments defining quiz-treeparameters are possible. Object 4210 next sends an insert-tree(“insertTree( )”) message 4252 to tree entity 4010. The relationaldatabase management system uses Data Manipulation Language (“DML”) toinsert a new record in entity 4010. A unique tree ID (“TreeID”) primarykey 4010A value is generated from a database sequence. Entity 4010 nextreturns tree ID (“TreeID”) 4254 to object 4210.

Tree-formulator object 4210 next sends a select-expression(“selectExpression( . . . )”) message 4256 to expression entity 3310. Aparameter 4256A is included with message 4256 to select where“IsSuitableForGuessThePhraseYN?” attribute 3310G is set to “Y” for“yes”. Message 4256 selects one record. Program handling (not shown)ensures that the same expression is not pulled more than once for thesame quiz-tree as well as to randomize selection of expressions.Additional parameters could be sent to specify the type of expression tobe selected. Expression entity 3310 could have additional attributesrelated to it to assist in fine-tuning the types of expressions composedinto in a quiz-tree.

Expression entity 3310 returns values 4258; an expression ID(“ExpressionID”) 4258A, and number of words (“NumWords”) 4258B fromcolumns 3310A and 3310B respectively of 3310. Tree-formulator object4210 next sends an insert-node (“insertNode( . . . )”) message 4260 tonode entity 3710. A parameter 4260A is sent to set column 3710B,“IsExpressionYN?” to “Y” for “yes”. Other parameters 4260B are sent,namely to set “IsNotAnExpressionYN?” to “N” for “no”. A parameter 4260Cis included to set column 3710D to NULL, indicating that there is noparent node. This is an appropriate value only for a top-level node. Aparameter 4260D is included to set column 3710E to “1”. Also passed isTree ID 4254 which goes in column 3710F.

The DML inserts a record in entity 3710. A node ID (“NodeID”) isgenerated in column 3710A from a database sequence. A node ID (“NodeID”)value 4262 is returned to tree-formulator object 4210. Object 4210 nextsends an insert-expression-node (“insertExpressionNode( . . . )”)message 4264 to expression-node entity 3714. Message 4264 passes node ID4262 and expression ID 4258A which go in columns 3714A and 3714Brespectively. Other parameters 4264A set columns 3714C and 3714D both to“N” for “no”. Parameter 4264B sets column “IsGuessThePhrasePhraseYN?”3714E to “Y”.

Having inserted the top-level node, tree-formulator object 4210 uses aset-level-one-parent-node-ID (“setLevellParentNodeID( . . . )”) method4266 to set a parent-node-ID variable to the (current) node ID 4262 ofthe top-level expression.

Sequence Diagram—Tree Formulator Part 2—FIG. 43

The tree-formulator sequence continues with FIG. 43. An outer loop 4348loops “n” times, where “n” is set to the number of words “NumWords”4258B in the expression. The tree-formulator object sends aselect-expression-word (“selectExpressionWord( . . . )”) message 4350 toexpression-word entity 3410. Message 4350 passes expression ID 4258A anda parameter 4350A representing the loop counter. These are used to finda record for the current expression and word number by filtering oncolumns 3410A and 3410B respectively.

Entity 3410 returns corresponding column values 4252 for the selectedrecord. “IsQuizzableWordYN?” 3410D, which is either “Y” for “yes” or “N”for “no” is returned as a value 4352A. Values 4352B of columns 3410C and3410E are also returned.

Tree-formulator object 4210 next sends an insert-node (“insertNode( . .. )”) message 4354 to node entity 3710. A parameter 4354A is sent to setcolumn 3710C, “IsNotAnExpressionYN?” to “Y” for “yes”. Other parameters4354B are sent, namely to set “IsExpressionYN?” to “N” for “no”. Aparent-node-ID (“parentNodeID”) parameter 4354C is included to setcolumn 3710D to the node ID of the parent, top-level node. A parameter4354D is included to set column 3710E to “2”. Also passed is Tree ID4254 which goes in column 3710F.

The DML inserts a node record in entity 3710, generating a “NodeID” froma database sequence that is returned to tree-formulator object 4210 asnode ID (“NodeID”) 4356. Object 4210 next sends aninsert-non-expression-node (“insertNonExpressionNode( . . . )”) message4358 to non-expression-node entity 3712. Message 4358 passes node ID4356 to set 3712A and parameter 4358A to set “IsGuessThePhraseWordYN?”column 3712C to “Y”. Other parameters 4358B set columns 3712B, and3712D-3712G to “N”.

Object 4210 next sends an insert-guess-the-phrase-word-node(“insertGuessThePhraseWordNode( . . . )”) message 4360 to entity 3812.Message 4360 passes node ID 4356 to set 3812A and a parameter 4360A toset column “ParentExpressionID” 3812B to the current expression ID ofthe top-level expression. Message 4360 also passes a parameter 4360B toset 3812C to the counter value “n” representing the word number in theexpression.

Sequence Diagram—Tree Formulator Part 3—FIG. 44

The tree-formulator sequence continues with FIG. 44. One of twosequences occurs as represented by an “alt combined fragment” 4450. On acondition 4452 that “IsQuizzableWordYN?” value 4352A is set to “N”, anext (“next(n)”) method or next statement 4454 increases the outer loopcounter (“n”) by one and, where “n” is not greater than “NumWords”4258B, resumes outer loop 4348 show in FIG. 43.

On a condition 4456 that “IsQuizzbleWordYN?” value 4352A is set to “Y”,object 4210 calls its set-level-two-node-id (“setLevel2NodeID( . . . )”)method 4457 with node ID 4356 representing the n-th word. This keepstrack of the level-two node ID in a variable.

Next, an inner loop executes. The inner loop completes node levels threeand four of the quiz-tree. The number of times the loop executes isrepresented by “m”. The value of “m” could be set to an upper limitdefined in a tree-formulator console (not shown) or hard coded.Otherwise, the number of iterations of the inner loop depends on thenumber of matching expressions found in the “lookup-expression”entities.

Part 1 of the inner loop is shown in loop combined fragment 4458. Areset-level-two-parent-node-ID (“resetLevel2 ParentNodeID( )”) method4460 sets a “ParentNodeID” value to a level-two-node-id parameter 4461value, which was returned from method 4457. The scope of this setting isrestricted to the inner loop. Object 4210 sends aselect-related-expression (“selectRelatedExpression( . . . )”) message4462 to a lookup-expression entity 3612. Message 4462 passes parameters4258A and 4350A. Parameter 4258A is used to restrict column 3612A andparameter 4350A is used to restrict column 3612B. Entity 3612 from FIG.36 is representative of the different lookup-expressions. Loop “m” wouldbe repeated, replacing the lookup entity in each repetition of the loop(not shown). Alternatively, all the related expression lookups could beinserted into a single lookup-entity (not shown). A tree-formulatorconsole (not shown) could be used to restrict the types of expressionlookups used in a particular quiz-tree.

Entity 3612 returns one related-expression-id (“ExpressionID1”) 4464from column 3612D per iteration of inner loop “m”. For an Oracledatabase, a PL/SQL cursor could be used to perform this type offunction. Tree-formulator object 4210 next sends a“selectExpressionID_Answ” message 4466 to canned-quiz entity 3311.Message 4466 passes a parameter 4466A to select “ExpressionID_Answ”column 3311A from entity 3311 where column 3311A is equal to 4464.Entity 3311 returns an “ExpressionID_Answ” value 4468.

A condition 4472 checks that 4468 in not null. If 4468 is null, it meansthat related-expression-id 4464 is not a canned-quiz answer, and methodor next statement 4470 starts a new iteration of the inner loop “m”.

Sequence Diagram—Tree Formulator Part 4—Inner Loop “m” Part 2—FIG. 45

FIG. 45 continues the tree-formulator sequence within the inner loop“m”. A condition 4550 checks that 4468 is not null, that is, that avalue was returned in the previous step. If condition 4550 is met,execution continues within the inner loop.

Tree-formulator object 4210 next sends an insert-node (“insertNode( . .. )”) message 4552 to node entity 3710. A parameter 4552A sets column3710B “IsExpressionYN?” to “Y”. Parameter 4552B is sent to set“IsNotAnExpressionYN?” column 3710C to “N” for “no”. A parent-node-ID(“parentNodeID”) parameter 4552C is included to set column 3710D to thenode ID of the parent, quiz-able-word node. A parameter 4552D isincluded to set column 3710E to “3”. Also passed is Tree ID 4254 whichgoes in column 3710F.

The DML inserts a node record in entity 3710, generating a “NodeID” froma database sequence that is returned to tree-formulator object 4210 asnode ID (“NodeID”) 4554. Object 4210 next sends aninsert-expression-node (“insertExpressionNode( . . . )”) message 4556 toexpression-node entity 3714. Message 4556 passes node ID 4554 to setcolumn 3714A. Message 4556 passes parameter 4556A to set “ExpressionID”column 3714B to 4468. Other parameters 4556B set columns 3714C and 3714Eto “N”. Parameter 4556C sets column “IsCannedQuizAnswerYN?” 3714D to“Y”.

Tree-formulator object 4210 next calls a set-level-three-parent-node-id(“setLevel3 ParentNodeID( . . . )”) method 4558, passing 4554, whichsets a “ParentNodeID” parameter to the node ID of the quiz answerexpression.

Next, object 4210 sends an insert-node message 4560 to insert a nodeinto entity 3710. A parameter 4560A is sent to set column 3710C,“IsNotAnExpressionYN?” to “Y” for “yes”. A parameter 4560B is sent toset “IsExpressionYN?” 3710B to “N” for “no”. A parent-node-ID(“parentNodeID”) parameter 4560C is included to set column 3710D to thenode ID of the parent, quiz-answer node. A parameter 4560D is includedto set column 3710E to “4”. Also passed is Tree ID 4254 which goes incolumn 3710F.

The DML inserts a node record in entity 3710, generating a “NodeID” froma database sequence that is returned to tree-formulator object 4210 asnode ID (“NodeID”) 4562. Object 4210 next sends aninsert-non-expression-node (“insertNonExpressionNode( . . . )”) message4564 to non-expression-node entity 3712. Message 4564 passes node ID4562 which goes in column 3712A. Also passed is parameter 4564A to set“IsCannedQuizQuestionYN?” column 3712B to “Y”. Other parameters 4564Bset columns 3712C-3712G to “N”.

Object 4210 next sends an insert-canned-quiz-question-node(“insertCannedQuizQuestionNode( . . . )”) message 4566 to entity 3810.Message 4566 passes node ID 4562 to set column 3810A. It also passes aparameter 4468 to set column 3810B. Message 4566 also passes parameter4566A to set 3810C to “N”, and parameter 4566B to set column 3810D to“Y”.

Sequence Diagrams—Node Initializers

FIG. 46-51 show how the four already-introduced node objects areinitialized from information in the quiz-generation schema. Thesesequences show how the data is accessed by the system at runtime. Thenode structure of a tree is already defined by the tree-formulatorsequences.

A runtime node persistence design would also require entities forstoring node state and other information about a game in progress, notdetailed below. Shown are the sequences for initializing the nodeobjects with quiz data and references to applicable parent and childnodes, in support of the class diagram and game sequences previouslyshown. In these diagrams, the references to applicable parent and childnodes are by node IDs as opposed to object references. From a node ID, arelative parent or child node could be instantiated and an objectreference obtained.

Sequence Diagram—Guess-the-Phrase Phrase Node Initializer—FIG. 46

FIG. 46 shows how a guess-the-phrase-phrase-node object is initializedfrom information in the quiz-generation schema.Guess-the-phrase-phrase-node object 3012 receives aninitialize-guess-the-phrase-phrase-node (“initGTPPNd( . . . )”) message4650, which passes a node-id (“nodeID”) 4652 parameter. Object 3012 nextsends a select-expression (“selectExpression( . . . )”) message 4654 toexpression-node entity 3714, passing 4652 which restricts 3714A. Entity3714 returns an expression-id (“ExpressionID”) 4656 value from 3714B.

Object 3012 next sends a select-number-of-words (“selectNumWords( . . .)”) message 4658 to expression entity 3310, passing 4656 which restrictscolumn 3310A. Entity 3310 returns a number-of-words (“NumWords”) 4660.Object 3012 next gets an array of the node-ids of theguess-the-phrase-words in the phrase. Aninitialize-guess-the-phrase-word-node-array (“initGTPWNd( )”) method4662 initializes the array.

A combined loop fragment 4664 iterates “n” times where the upper limitof “n” is the number of words 4660. A select-guess-the-phrase-word-node(“selectGTPWNd( . . . )”) message 4666 is sent to node entity 3710.Message 4666, passes a parameter 4668 to restrict column 3710D to 4652.Column 3710A is selected and a node-id (“NodeID”) 4670 is returned toobject 3012. An add-guess-the-phrase-word-node (“addGTPWNd( . . . )”)method 4674 inserts nth node ID 4670 into the guess-the-phrase-word-nodearray.

Sequence Diagram—Guess-the-Phrase Word Node Initializer—Part 1—FIG. 47

FIG. 47 shows part one of how a guess-the-phrase-word-node object isinitialized from information in the quiz-generation schema.Guess-the-phrase-word object 1818 receives aninitialize-guess-the-phrase-word-node-id (“initGTPWNd( . . . )”) message4750, which passes a node-id (“nodeID”) 4752 parameter. Object 1818 nextsends a select-expression-and-word-number (“selectExpression&WordNum( .. . )”) message 4754 to guess-the-phrase-word-node entity 3812, passing4752 which restricts 3812A. Entity 3812 returns values 4756, aparent-expression-id (“ParentExpressionID”) 4758 from column 3812B, anda word-number-in-parent-expression (“WordNumInParentExp”) 4760 fromcolumn 3812C.

Object 1818 next sends a select-expression-word-information(“selectExpressionWordInfo( . . . )”) message 4762 to expression-wordentity 3410. Message 4762 passes a parameter 4762A which restrictscolumn 3410A with 4758. Message 4762 also passes a parameter 4762B whichrestricts column 3410B with 4760. Entity 3410 returns values 4764. Theseinclude an expression-id (“ExpressionID”) 4766 from column 3410A, and aword-number-in-expression (“WordNumInExp”) 4768 from 3410B. Entity 3410also returns “IsQuizzableWordYN?” 4770 from 3410D and “IsCapitalizedYN?”4772 from 3410E. All words are stored as dictionary words in the presentembodiment, so there is no need to return 3410C.

Object 1818 next sends a select-dictionary-word (“selectDictionaryWord(. . . )”) message 4774 to entity 3412. Parameter 4766 restricts column3412A and parameter 4768 restricts column 3412B. A value fordictionary-word-id (“DictionaryWordID”) 4776 is returned. Next, object1818 sends a select-word-text (“selectWordTxt( . . . )”) message 4778 todictionary-word entity 3416, passing 4776 which restricts column 3416A.A value for word-text (“WordTxt”) 4780 is returned from column 3416B.

Next, object 1818 calls its set-answer (“setAnswer( . . . )”) method4782, passing 4780 and 4772 to set an answer for the word. This answeris passed to and displayed in the interface when the word is solved. Ona condition 4784 that the word is a quiz-able word, object 1818 alsocalls its set-valid-word-answer (“setValidWdAnswer( . . . )”) method4786, passing 4780. This method sets the first index value of avalid-word-answers array to word-text 4780. Other entities andsequences, not shown, could be used to create an array of multiplevalues with closely matching responses deemed to be correct.

Sequence Diagram—Guess-the-Phrase-Word-Node Initializer—Part 2—FIG. 48

FIG. 48 shows part two of the guess-the-phrase-word node initializationsequence. Guess-the-phrase-word object 1818 sends a select-parent-node(“selectParentNode( . . . )”) message 4850 to node entity 3710, passing4752. Node id 4752 restricts column 3710A, and parent-node-id(“ParentNodeID”) 4852 is returned from column 3710D.

On a condition 4784 (which also applies to the loop that follows), aninitialize-trivia-quiz-answer-node (“initTQANd”) method 4854 initializesa two-dimensional array that stores trivia-quiz answer node IDs andtheir respective category.

A loop combined fragment 4856 iterates while found with counter “n”. Aselect-trivia-quiz-answer-node (“selectTQANd( . . . )”) message 4858 issent to node entity 3710. Message 4858, passes a parameter 4860 torestrict column 3710D to node ID 4752 of the quiz-able word. A node id4862 for a trivia-quiz-answer-node is returned from column 3710A.

Next, a select-expression (“selectExpression( . . . )”) message 4864 issent to expression-node entity 3714, passing 4862. Parameter 4862restricts column 3714A, and column 3714B is returned as an expression-id(“ExpressionID”) 4866 value. Next, object 1818 sends aselect-category-code (“selectCategoryCode( . . . )”) message 4868 tocanned-quiz-subject-category entity 3312. Message 4868 passes aparameter 4870 which restricts column 3312A with 4866. Column 3312B isreturned as a category-code (“CategoryCode”) 4872 value. Next, aset-trivia-quiz-answer-node (“setTQANd( . . . )”) method 4874 executes.Method 4874 inserts trivia-quiz-answer node-id 4862, and category-code4872 into the trivia-quiz-answer-node array.

Sequence Diagram—Trivia Quiz Answer Node Initializer—Part 1—FIG. 49

FIG. 49 shows part one of the trivia-quiz-answer-node-initializersequence. Trivia-quiz-answer-node object 1910 receives aninitialize-trivia-quiz-answer-node (“initTQANd( . . . )”) message 4950,which passes a node-id (“nodeID”) 4952 parameter. Object 1910 next sendsa select-expression (“selectExpression( . . . )”) message 4954 toexpression-node entity 3714, passing 4952 which restricts 3714A. Entity3714 returns an expression-id (“ExpressionID”) 4956 value from 3714B.

Object 1910 next sends a select-number-of-words (“selectNumWords( . . .)”) message 4958 to expression entity 3310, passing 4956 which restrictscolumn 3310A. Entity 3310 returns a number-of-words (“NumWords”) 4960from 3310B. Object 1910 next calls an initialize-answer (“initAnswer( .. . )”) method 4962, passing 4960. Method 4962 initializes an array ofsize “NumWords” for holding the words of the trivia-quiz-answerexpression.

A combined loop fragment 4964 iterates “n” times where the upper limitof “n” is the number of words 4960. A select-dictionary-word(“selectDictionaryWord( . . . )”) message 4966 is sent toexpression-word-dictionary-word entity 3412. Message 4966, passesparameter 4956 to restrict column 3412A. Also passed is parameter 4966Awhich restricts column 3412B to the counter representing the wordnumber. A dictionary-word-id (“DictionaryWordID”) 4968 value is returnedfrom column 3412C.

Object 1910 next sends a select-word-text (“selectWordTxt( . . . )”)message 4970 to dictionary-word entity 3416. Message 4970 passes 4968,which restricts column 3416A. Column 3416B is returned as a word text(“WordTxt”) 4972 value. Object 1910 next sends a select-caplitalization(“selectCapitalization( . . . )”) message 4974 to expression-word entity3410. Message 4974 passes 4956, which restricts column 3410A. Message4974 also passes a parameter 4974A for the counter value, whichrestricts column 3410B. Column 3410E is returned as an“IsCapitalizedYN?” 4976 value. Object 1910 calls its add-to-answer(“addToAnswer( . . . )”) method 4978, passing 4972 and 4976. Method 4978adds the word to the array of words for the trivia-quiz-answerexpression.

Sequence Diagram—Trivia Quiz Answer Node Initializer—Part 2—FIG. 50

FIG. 50 shows the second part of the trivia-quiz-answer-node-initializersequence. Trivia-quiz-answer-node object 1910 calls itsconvert-to-string (“convertToString( . . . )”) method 5050, passing acompleted array of words (“answer”) for the trivia-quiz-answerexpression, 5052. Next, it calls its initialize-valid-answers(“initValidAnswers( . . . )”) method 5054, which initializes an array ofvalid answers and adds a string-answer (“stringAnswer”) 5056 returnedfrom method 5050 at the first index. Additional entities and sequences,not shown, would be used to add additional values to the array of validanswers. It is this array that is checked against a player response todetermine whether it is correct.

Object 1910 next sends a select-guess-the-phrase-word-node(“selectGTPWNd( . . . )”) message 5058 to node entity 3710. A parameter5058A restricts column 3710A with node id 4952. Column 3710D is returnedas a parent-node-id (“ParentNodeID”) 5060. Object 1910 calls itsset-guess-the-phrase-word-node (“setGTPWNd( . . . )”) method 5062,passing 5060. This sets the parent, guess-the-phrase-word-node by itsnode-id.

Object 1910 next sends a select-trivia-quiz-question-node (“selectTQQNd(. . . )”) message 5064 to entity 3710. Message 5064 passes a parameter5064A that restrict column 3710D with 4952. Column 3710A is returned asa node-id (“NodeID”) 5066 value. Object 1910 calls itsset-trivia-quiz-question-node (“setTQQNd( . . . )”) method 5068, passing5066. This sets the child, trivia-quiz-question-node by its node-id.

Sequence Diagram—Trivia Quiz Question Node Initializer—FIG. 51

FIG. 51 shows how a trivia-quiz-question-node object is initialized frominformation in the quiz-generation schema. Trivia-quiz-question-nodeobject 1912 receives an initialize-trivia-quiz-question-node(“initTQQNd( . . . )”) message 5150, which passes a node-id (“nodeID”)5152 parameter. Object 1912 next sends a select-expression(“selectExpression( . . . )”) message 5154 to canned-quiz-question-nodeentity 3810, passing 5152 which restricts 3810A. Entity 3810 returns an“ExpressionID_Answ” 5156 value from 3810B.

Object 1912 next sends a select-question-text (“selectQuestionTxt( . . .)”) message 5158 to canned-quiz entity 3311, passing 5156 whichrestricts column 3311A. Entity 3311 returns a question text(“QuestionTxt”) 5160 from column 3311B. Object 1912 next calls itsinitialize-question (“initQuestion( . . . )”) method 5162, passing 5160to initialize the question.

Object 1912 next sends a select-trivia-quiz-answer-node (“selectTQANd( .. . )”) method 5164 to node entity 3710. A parameter 5164A restrictscolumn 3710A by 5152. Column 3710D is returned from the node entity as aparent-node-id (“ParentNodeID”) 5166. Object 1912 next calls itsset-trivia-quiz-answer-node (“setTQANd( . . . )”) method 5168, passing5166. This sets a reference to a parent, trivia-quiz-answer node, by itsnode ID.

Entity Relationship Diagram—FIG. 52

FIG. 52 introduces a round (“Round”) entity 5210 and a match (“AMatch”)entity 5214. Match entity 5214 contains a “MatchID” primary key 5214A.It contains attributes to record match statistics.“TotalPointsAvailable” 5214B is the maximum points available fordistribution in a match. “TotalPointsAwarded” 5214C is the pointsawarded in a match. “PlayerlDMatchAdmin” foreign key 5214D refers to the“PlayerID” primary key 4110A of player entity 4110. It records theplayer who is the match administrator, if applicable. Flag attributes“IsStartedYN?” 5214E, “IsSuspendedYN?” 5214F, “IsCompletedYN?” 5214Grecord information about the state of a match.

An “AMatch_Player” composite entity 5216 has a primary key 5216Pcomposed of a “MatchID” foreign-key-primary-key column 5216A from 5214Aand a “PlayerID” foreign-key-primary-key column 5216B from 4110A. Entity5216 includes attributes “Score” 5216C, which is the cumulative matchscore for each player, and “ControlOrder” 5216D, which is a numberrepresenting the order of control per player per match.

Round entity 5210 has a primary key composed of a “MatchID”foreign-key-primary-key column 5210B referencing primary key 5214A ofmatch entity 5214, and a round number “RoundNum” column 5210C which isthe round number within a match. A “TreeID” foreign key 5210A refers toprimary key 4010A of tree entity 4010. A “PlayerIDToStartRound” foreignkey 5210H refers to primary key 4110A of player entity 4110 and recordswhich player started the round in control. Attribute“TotalPointsAwarded” 5210D summarizes the cumulative points awarded perround. Attribute “MaxAvailPoints” 5210E records the maximum availablepoints available for distribution in a round. Attributes “StartDate”5210F and “EndDate” 5210G record when a round was started and ended.Flag attributes “IsStartedYN?” 52101, “IsSuspendedYN?” 5210J, and“IsCompletedYN?” 5210K record information about the state of a round.

A “Round_Player” composite entity 5212 has a primary key 5212P withforeign-key-primary-key columns “MatchID” 5212A, “RoundNum” 5212B, and“PlayerID” 5212C referencing the primary keys of round entity 5210 andplayer entity 4110. A “Score” attribute 5212D records the cumulativescore per player per round.

Sequence Diagram—Initialize Match—FIG. 53

FIG. 53 shows how a match is initialized. A game administrator(“GameAdmin <<actor>>”) 5310 sends an initiate-game (“initGame( . . .)”) message 5350 to game object 1816. Message 5350 passes an array ofplayer IDs of size “P” (“playerID[P]”) 5352, a number of rounds(“numRounds”) 5354 in the match, and an array of “R” tree IDs(“TreeID[R])”) 5356, where “R” is the number of rounds. It is assumedthat arrays 5352 and 5356 contain pre-existing information and wereobtained as part of a pre-game setup process (not shown).

Next, game object 1816 calls an initialize-control-sequence(“initControlSeq( . . . )”) method 5358, passing 5352. Next, a looppopulates the control sequence with an ordered array of playerreferences, described in combined loop fragment 5360. Aninitialize-player (“initPlayer( . . . )”) message 5362 is sent from 1816to a player object (“Player”) 5312, passing a player ID of the counterindex “p” value (“playerID(p)”) 5364. Player object 5312 sends aselect-player (“selectPlayer(p)”) message 5366 to player entity 4110 toselect relevant columns where 4110A is restricted by 5364. A reference5368 to the player object is returned to 1816. Anadd-to-control-sequence (“addToControlSeq( . . . )”) method 5370 addsplayer reference 5368 to the control sequence.

Game object 1816 next sends an initialize-match (“initMatch( . . . )”)message 5372 to a match (“Match”) object 5314. Message 5372 passes 5354and a control sequence (“controlSeq”) 5374 obtained from loop 5360.Match object 5314 sends an insert-match (“insertMatch( )”) message 5376to match entity 5214. A database sequence generates a “MatchID” inprimary key column 5214A, which is returned as 5378. Other methods (notshown), can insert additional values in entity 5214 as well as compositeentity 5216, and initialize the match scores of the players. A reference5380 to the match object is returned to game object 1816.

Sequence Diagram—Initialize Round—Part 1—FIG. 54

FIG. 54 shows the first part of a round initialization sequence. At thebeginning of a new round, game object 1816 calls a next-control-sequence(“nextControlSeq( . . . )”) method 5450, to set the index of the controlsequence to the next player. Method 5450 requires parameter “r” 5452which is the index of the current round. This method ensures thatcontrol is set at the beginning of each round according to the controlsequence order.

Game object 1816 next sends an initialize-round (“initRound( . . . )”)message 5454 to a round (“Round”) object 5410. Message 5454 passes amatch ID (“MatchID”) parameter 5456 obtained from a lookup (not shown)of match object 5314. It also passes round index 5452.

Round object 5410 sends an insert-round (“insertRound( . . . )”) message5458 to round entity 5210. Message 5458 passes 5460, a tree ID of theround index (“TreeID(r)”). Message 5468 also passes 5456 and the indexof the current round plus one 5462. This presumes the index begins atzero but actual round numbers begin at one. Parameters 5460, 5456, and5462 populate columns 5210A, 5210B, and 5210C respectively of entity5210. Once a round is initialized, a round 5464 reference is returned togame object 1816.

Game object 1816 next sends a select-top-node (“selectTopNode( . . . )”)message 5466 to node entity 5210. Message 5466 passes 5460, whichrestricts column 3710F, and a parameter 5468 that restricts column 3710Eto “1”. This call returns node ID (“NodeID”) 5470 from column 3710A ofentity 3710.

Game object 1816 next sends initialize-guess-the-phrase-phrase-node(“initGTPPNd( . . . )”) message 4650 to object 3012, passing 5470. Onceguess-the-phrase-phrase object 3012 is initialized, game object 1816sends a get-number-of-words (“getNumWordso”) message 5472 to 3012. Anumber of words (“NumWords”) 4660 in the top-level-phrase is returned.Game object 1816 next calls aninitialize-guess-the-phrase-word-GUI-information (“initGTPWGUIInfo( )”)method 5474. This initializes an array of information about theguess-the-phrase words that is to be sent to the user interface.

Sequence Diagram—Initialize Round—Part 2—FIG. 55

The initialize round sequence continues with FIG. 55. A loop, indicatedby a combined loop fragment 5550, executes to capture information abouteach word in the top-level phrase. A get-nth-guess-the-phrase-word-node(“getGTPWNd(n)”) message 5552 is sent to object 3012. Message 5552retrieves a node ID (“NodeID”) 5554 for the nth guess-the-phrase wordfrom 3012. Game object 1816 next sends aninitialize-guess-the-phrase-word-node-id (“initGTPWNd( . . . )”) message4750 to guess-the-phrase-word instance 1818 for theguess-the-phrase-word node, passing 5554. Game object 1816 gets areference 5556 to the guess-the-phrase-word node (“GTPWdNd”). It thencalls a get-guess-the-phrase-word-node-GUI-information(“getGTPWNdGUIInfo( )”) message 5558 of 1818. Message 5558 returnsvalues 5560. These include a word text (“WordTxt”) 5562 value, anis-quiz-able-word-yes-or-no (“IsQuizzableWdYN?”) 5564 value, and a nodestate (“nodeState”) 5566 value. Node state 5566 will reflect that thenode is available.

Game object 1816 next calls a get-word-length (“getWordLength( . . . )”)message 5568, passing 5562 to get the number of characters of thecurrent word. Object 1816 next calls anadd-guess-the-phrase-word-GUI-information (“addGTPWGUIInfo( . . . )”)method 5570. Method 5570 takes as arguments 5554, a word length(“wordLength”) 5572 parameter returned from 5568, and 5564 and 5566.Method 5570 adds the information for the current word to theguess-the-phrase-word-GUI-information array.

When loop 5550 is finished, game object 1816 sends aninitialize-navigation-mode-GUI (“initNavModeGUI( . . . )”) message 5574to initialize navigation-mode GUI (“NavModeGUI”) object 1810. Message5574 passes a guess-the-phrase-phrase-node-ID (“GTPPNdID”) 5576, whichis set to 5470, the value of the top-level node ID. Message 5574 alsopasses a guess-the-phrase-word-GUI-information (“GTPWGUIInfo[ ]”) array5578, obtained from loop 5550. Parameters 5576 and 5578 supply theinformation necessary to display the masked top-level phrase at thebeginning of a round as indicated in FIG. 2. Parameters 5576 and 5578also provide node IDs to the user interface that are returned to themodel with play actions. This assists in coordinating the view with themodel.

In the present embodiment, method 5574 is part of an indicator means forpresenting a word indication. The method provides word length, type andnode identification information from the model to the view.

Game object 1816 also sends an initialize-control-and-score-GUI(“initCntrl&ScoreGUI( . . . )”) message 5580 to initializecontrol-and-score-GUI (“Cntrl&ScoreGUI”) object 2310. Message 5580passes an array of player scores for the round (“round.player.score[ ]”)5582, an array of player scores for the match (“match.player.score[ ]”)5584, a control sequence (“controlSeq”) 5586, and an index for theplayer with control (“cntrlIndex”) 5588.

Continuous Difficulty Calibration Enhancement

Embodiments could include enhancements that make adjustments to pointsawarded, or to points deducted as the case may be, based on the relativedifficulty of the comprised nested quiz(zes) or top-level quiz. In aclient-server, database supported embodiment, difficulty levels could berecalibrated, potentially in real time, based on data received from theplayer clients. Use of a quiz database allows quizzes to be reused bymany different players. A difficulty calibration mechanism based onclient feedback would allow future players to benefit from the play ofpast and current players to create an increasingly accurate scoringsystem based on relative quiz difficulty.

Information for a given quiz, comprised of the individual historicresults and/or the accumulated result of all historic guesses attemptedon that quiz, would be persisted. In the case of a quiz database basedon a relational database system, historic results would be persisted inone or more history relations within the quiz database. Any new resultfor the given quiz, provided by the game clients to the server, would beadded to existing result information for that quiz in the quiz database.

Quiz result information could be used to re-calibrate the difficultymeasure of the given quiz on an ongoing basis. The difficulty measure(s)would be applied as a factor to the score value for a given quiz for thenext or later presentation of the same quiz in the context of a round ofplay. Ongoing feedback from clients would provide an increasinglyaccurate difficulty rating and score adjustment for the quizzes.

A simple example of how continuous difficulty calibration could beapplied is given for a trivia-quiz taken with the trivia-quiz componentin a single-player mode of the game. In single-player mode, the scorewill be maximized when the fewest number of clues are revealed and/orguesses are taken en route to the solution of the top-level quiz.However, it is sensible that a player should be deducted fewer pointsfor missing the solution to a difficult quiz than for missing thesolution to a relatively easy quiz.

Assuming that prior feedback were collected on a given trivia-quiz andthe data indicated that there were a number “c” correct answers for anumber “a” attempts on a given quiz, then a difficulty factor of perhapsc/a could be multiplied by some base value “b” to arrive at the pointdeduction for a failed guess on the next attempt for that quiz. Once aplayer has submitted a guess, the value of “c” in the quiz databasewould be updated by one if the guess were successful, and the value of“a” would automatically be updated by one. The next time an attempt weremade on the same quiz, the re-calibrated difficulty factor for the quizwould be retrieved or calculated from information in the quiz database.The difficulty factor would again be multiplied by the base value “b” toarrive at the re-calibrated point deduction for a failed guess on thesame quiz. Following the submission of the latest guess, the quizdatabase would again be updated and the difficulty factor would again bere-calibrated for the next player(s) to make use of the giventrivia-quiz and so on.

A more complicated formula could be used to calibrate the difficulty ofphrases. Phrase difficulty calibration is complicated by the fact thatdifferent trivia-quizzes may appear from iteration to iteration of thesame phrase. This could be due to the addition of trivia-quizzes to thequiz database. This could also be due to the insertion of logic thatrecords player histories and prevents the same individual from receivingthe same trivia-quiz between different matches.

The continuous difficulty calibration feature could be applied not onlyto the combined guess-the-phrase and trivia game embodiment of a QNQ butto all possible embodiments of a QNQ.

ALTERNATIVE EMBODIMENTS

FIGS. 56-95 deal with some alternative forms and enhancements. Thesefigures are representative of many types of enhancements that could beincorporated into the combined guess-the-phrase and trivia gameembodiment or an alternative embodiment.

FIG. 56 depicts the quiz-and-word-guessing-selector component with anadditional menu option for a “drill-down clue”. An additional level ofsubmenus 320 contains a trivia submenu 322 and a drill-down clue submenu324. Presuming that drill-down clue submenu 324 is selected, FIG. 57would be presented.

FIG. 57 depicts the phrase component in navigation mode with an embeddedquiz that is applicable to one of the quiz-able-words in the top-levelphrase. Embedded quiz 240 has an unrevealed quiz-able-word 244A1 withattached hyperlink, a solve word button 242A, a label indicating aword-clue section 248, and a quiz-able-word-clue cell 250. Presumingthat 244A1 is selected with hand-pointer cursor 95, FIG. 58 would bepresented.

FIG. 58 depicts the quiz-and-word-guessing-selector component as itmight appear for quiz-able-word 244A1 in the embedded quiz. Additionalmenu items are displayed to support additional features and quiz types.

Top-level menus 340 contain a guess-word menu 342, find-a-clue menu 344and cancel drill-down menu 346. The find-a-clue menu 344 has a flyoutmenu 350. Flyout menu 350 has a trivia-quiz menu 352, aconcealed-picture menu 354, an anagram menu 356, a drill-down-clue menu357, a sound-clip menu 358 and a video-clip menu 359. Trivia-quiz menu352 has trivia-quiz submenus 360. Trivia-quiz submenus 360 include atelevision-quiz-category-menu option 362A, a movies-quiz-category-menuoption 362B, a music-quiz-category-menu option 362C, and asports-quiz-category-menu option 362D.

Presuming that music-quiz-category-menu option 362C is selected witharrow cursor 99, FIG. 59 is presented. FIG. 59 depicts a form of thetrivia-quiz component adapted for multiple choice input of a trivia-quizanswer. The appearance of this component presumes an embodiment enabledfor multiple choice quizzes and that option being selected, ifconfigurable. FIG. 59 introduces multiple choice options section 417with options 417A through 417D. A quiz-heading 410B corresponds to theselected question. A quiz question 412B1 displays the question. Multiplechoice option 417C is shown as selected. Presuming that submit button420 is selected with hand-pointer cursor 95, FIG. 60 is presented.

FIG. 60 shows the phrase component assuming the previous attempt iscorrect. Revealed quiz-able-word 244A5 is displayed inquiz-able-word-clue cell 250. Since quiz-able-word 244A5 is solved, theembedded quiz is redundant and disappears automatically after a fewseconds. After that, the phrase component reduces to FIG. 61, showing afirst quiz-able-word's first clue 230G1 in first quiz-able-word-cluecell 230A.

Returning to FIG. 58, and presuming that concealed-picture menu 354 isselected, a concealed-picture-puzzle quiz is presented. It is modeledafter the trivia-quiz component. FIG. 62 shows a concealed-picturepuzzle in progress. The concealed-picture puzzle has aheading-for-concealed-picture puzzle 410C. It has a concealed-picturepuzzle 412C and a remove-a-puzzle-piece label 430. A spinner with label432 is used to select a puzzle piece for removal from concealed-picturepuzzle 412C. A submit button 434 verifies removal of a puzzle piece. Apass button 436 is used by a player to pass on selecting a puzzle piecefor removal in a multi-player embodiment. A guess-the-picture label 414Blabels answer textbox 416. A text-answer attempt 416C is shown. Otherfeatures have the same purpose as in the trivia-quiz component.

Returning to FIG. 58, and presuming that anagram menu 356 is selected,then an anagram-puzzle quiz is presented. FIG. 63 depicts the phrasecomponent in navigation mode with the embedded quiz. The embedded quizhas unrevealed quiz-able word 244A1 with attached hyperlink. It also hasassociated anagram clue in its quiz-able-word-clue cell 250.

Assuming selection of solve-word button 242A, FIG. 64 is displayed. FIG.64 shows embedded quiz 240 in a quiz-able-word-guessing mode. Aquiz-able-word response 244A4 is in the process of being entered by aplayer. Submit-guess button 242B, clear-guess button 242C, and passbutton 242D are available for selection. Point-deduction warning 246warns of the penalty for a wrong attempt.

FIG. 65 depicts the phrase component in navigation mode in a designvariant that displays unsolved quizzes within the phrase component. Oneclue 252 has been found for the higher-level quiz-able-word, and thereare three clues to the embedded quiz. The first is an anagram clue 254,The second is a quiz question 256 corresponding to 412A1 of FIG. 59. Inthis design, quiz question 256 maintains a hyperlink to the trivia-quizportrayed in FIG. 59. FIG. 65 presumes that the trivia-quiz waspreviously selected but not attempted or not answered correctly.Unsolved picture puzzle “clue” 258 maintains a hyperlink to theconcealed-picture puzzle introduced in FIG. 62. In FIG. 65, one lesspiece is removed. FIG. 65 presumes that the concealed-picture puzzlequiz was previously selected but an answer was not attempted or it wasnot answered correctly.

Returning to FIG. 58, and presuming that drill-down-clue menu 357 isselected, a “drill-down” quiz is presented. FIG. 66 depicts the phrasecomponent in navigation mode where embedded quiz 240 itself has anembedded-drill-down quiz. An embedded-embedded-drill-down quiz 260consists of a single unrevealed quiz-able-word 264A1 with attachedhyperlink. It has its own solve word button 262A, a label 266 indicatinga word-clue section, and a quiz-able-word-clue cell 268.

Assuming selection of quiz-able-word 264A1 with hand-pointer cursor 95,FIG. 67 is displayed. FIG. 67 depicts thequiz-and-word-guessing-selector component as in might appear forquiz-able-word 264A1 in the embedded-embedded drill down quiz.Additional menu items are displayed to support additional features andquiz types.

In FIG. 67, top-level menus 370 contain guess-word menu 372, find-a-cluemenu 374 and cancel-drill-down menu 376. Find-a-clue menu 374 has aflyout menu 380. Flyout menu 380 leads to trivia-quiz menu 382,concealed-picture menu 384, anagram menu 386, and drill-down-clue menu388. Trivia-quiz menu 382 leads to trivia-quiz submenus 390. Trivia-quizsubmenus 390 include a television-quiz-category-menu option 392A,movies-quiz-category-menu option 392B, a music-quiz-category menu option392C, and a sports-quiz-category-menu option 392D.

FIG. 68 depicts the phrase component in navigation mode with three cluesin quiz-able-word-clue cell 268. Clues “Shrek” 270, “The Hobbit” 272 and“Bruce Lee” 274 are for embedded-embedded drill down quiz-able-word264A1. These clues presume a design variant where the relationship ofthe clues 270, 272 and 274 to quiz-able-word 264A1 (“dragon” whensolved) is not based on word-level relationships. Rather, there is athematic relationship. At the schema level, this is accomplished withexpression-level relationships, including “expressions” of one word.

Clues “Shrek” 270 and “The Hobbit” 272 are names of movies that featurea dragon. Clue “Bruce Lee” 274 is a movie actor that is associated withthe word “dragon” through a famous movie title. Assuming selection ofthe solve-word button, FIG. 69 is displayed.

FIG. 69 depicts the phrase component in navigation mode in which theembedded-embedded-quiz-able-word 264A5 has been solved. Its solution hasbecome a clue to one-higher embedded quiz-able-word 244A1.

FIG. 70 depicts a hypothetical logical structure of the solution paththat was partially exposited by FIGS. 66 through 69. In addition tonode-levels one through four (110, 112, 114, 116) are shown node-levels5 118 and six 120. For clarity, the diagram omits node-level 2 112 wordsexcept 220A.

At node-level six 120 are quiz questions (clues) 7010, 7012, and 7014for clues “Shrek” 270, “The Hobbit” 272 and “Bruce Lee” 274respectively. Clues 270, 272, and 274 are clues to quiz-able-word 264(“dragon”) which is a clue to quiz-able-word 244 (“dragonfly”). This isa clue to first quiz-able-word 220A of sample phrase for top-level quiz1410.

FIG. 71 shows a quiz-and-word-guessing-selector component being used tofind a drill-down clue in the category of movies. The menu is similar tothe menu of FIG. 56, except with a drill-down-clue-flyout submenu 325instead of drill-down-clue submenu 324. Drill-down-clue-flyout submenu325 leads to drill-down clues 393 with a television-quiz-category-menuoption 394A, a movies-quiz-category-menu option 394B, amusic-quiz-category-menu option 394C, and a sports-quiz-category-menuoption 394D. Assuming selection of 394B with arrow cursor 99, FIG. 72 isdisplayed.

FIG. 72 shows a variant of the phrase component with anembedded-drill-down-quiz 280. Embedded-drill-down quiz 280 is expandedin FIG. 73. In FIG. 73, the drill-down quiz is a two-word expression.Phrase section 212 contains unrevealed first and second quiz-able-words220C1 and 220D1, with hyperlinks. These represent the words “Marty” and“McFly” respectively, which are the first and last names of a moviecharacter from the movie “Back to the Future”. Word-clue section 214 islabeled with a label 222B indicating a word-clue section. Word-cluesection 214 contains first and second quiz-able-word-clue cells 230C and230D. This variant of the phrase component also has a phrase-cluesection 282. Phrase-clue section 282 includes a hyperlink to phraseclue(s) 284. Phrase clue cell 286 contains space where one or morephrase-level clues can be displayed. A phrase-level clue is a clue thatis useful for solving the entire phrase. A phrase-level clue isdistinguished from quizzes on unrevealed quiz-able-words 220C1 and 220D1which are related to their respective associated word. Presumingselection of hyperlink 284, FIG. 74 is displayed.

FIG. 74 depicts a menu of one item for selecting a quiz that applies tothe embedded-guess-the-phrase quiz. Presuming selection ofmovies-quiz-category-menu option 396 with arrow cursor 99, FIG. 75 isdisplayed.

FIG. 75 shows an embedded-embedded-drill-down quiz 290 withinembedded-drill-down quiz 280 which was shown in FIGS. 72 and 73.Embedded-embedded drill down quiz 290 is expanded in FIG. 76.

FIG. 76 expands embedded-embedded drill down quiz 290 of FIG. 75. FIG.76 shows unrevealed first and second quiz-able-words 220E1 and 220F1,with attached hyperlinks. Also shown are unrevealed first and secondfiller-words 218D1 and 218E1, with attached hyperlinks. Also shown arefirst and second quiz-able-word-clue cells 230E and 230F. Aphrase-clue-section 283 shows a slightly modified arrangement fromphrase-clue section 282 of FIG. 73. A hyperlink to phrase clue(s) 285and a phrase clue-clue cell 287 are shown. Presuming selection ofhyperlink 285 to the phrase clue(s), FIG. 77 is displayed.

FIG. 77 depicts a quiz-selector menu that appears overhyperlink-to-phrase-clue(s) 285. It has menus 397, a concealed-picturemenu 398A, a sound-clip menu 398B, a video-clip menu 398C, and atext-clue menu 398D. Presuming selection of video-clip menu 398C witharrow cursor 99, FIG. 78 is displayed.

FIG. 78 depicts a “video quiz” component of the user interface. It has aheading for video-clip quiz 610. A video-clip player 620 displays avideo-clip clue. In this case the video-clip clue is for theembedded-embedded-drill-down quiz shown in FIG. 76. Its solution is amovie name “Back to the Future”. A video-clip shown in 620 might be aclip from that movie or something associated with it.

Selecting a guess button 630 brings to focus the embedded-embedded drilldown quiz represented in FIG. 76, except in a phrase-guessing mode. Asuccessful answer would result in the disappearance of theembedded-embedded drill down quiz represented in FIG. 76 (after a fewseconds), and its solved phrase would be displayed in phrase clue-cluecell 286 of FIG. 73. An unsuccessful answer would result in answeringprivilege passing to the next player in sequence (in multi-player mode)and focus returning to the “video quiz” component. Also shown with the“video quiz” component of FIG. 78 are a “pass” button 632 for passinganswering privilege to the next player in sequence, a “replay” button634 for replaying the video clip, a “next clip” button 636 fordisplaying the next video clip, and a “close” button 638 for closing the“video quiz” component.

FIG. 79 depicts a “quiz navigator” component of the user interface. Thequiz navigator allows players to view information about a quiz tree andfacilitates quiz solution. The quiz navigator borrows the nomenclaturefor logically describing a QNQ introduced in FIG. 1.

The quiz navigator includes a title bar 710, a menu bar 720, and anavigation device 730. Navigation device 730 allows a player to navigatea quiz-tree of any size or complexity by zooming in or out and by movingup and down, left and right. Sample top-level phrase 1410 (“A fly in theointment”) has only the node for first quiz-able-word 220A (“fly”) shownbeneath it. It is presumed that only first quiz-able-word 220A has hadinformation revealed about it. An equally suitable embodiment would showall the second level nodes. Nodes 740, 750, and 752 are presumed to berevealed.

The first quiz-able-word's first clue 230A1 “Marty McFly” has firstquiz-able-word 220C “Marty” and second quiz-able-word 220D “McFly”. Italso has phrase clue 740 “Back to the Future” which is a movie name towhich the character “Marty McFly” belongs. The solid circular node at740 indicates the clue is revealed. A mouse-over event occurs bypositioning hand-pointer cursor 95, over clue 740. Then, a text bubble760A displays. Text bubble 760A displays the content of clue 740 in thequiz navigator. Clues 750 and 752 to the first and secondquiz-able-words have solid circular nodes, indicating they are revealed.

FIG. 80 shows the quiz navigator with the same quiz-tree in the samestate as FIG. 79, but with hand-pointer cursor 95 over clue 750,displaying text bubble 760B. The displayed clue is a sports figure witha name (“Billy Martin”) that bears a similarity to the firstquiz-able-word 220C “Marty”. The match of answer “Marty” to clue “BillyMartin” presumes a run time comparison of words in the quiz database orelse the existence of relationships that contain a match of “Marty” tothe second word “Martin” of clue 750. The match would be establishedbased on a shared character string (“Mart”) in the two words.

FIG. 81 shows the quiz navigator with the same quiz-tree in the samestate as in FIGS. 79 and 80, but with hand-pointer cursor 95 over clue752, displaying text bubble 760C. The match of “McFly” to the secondword “McCartney” of clue 752 follows the same description as for thematch of quiz “Marty” to clue “Billy Martin” shown in FIG. 80. In thiscase the words are matched based on their first two characters “Mc”.

FIG. 82 shows the quiz navigator with the same quiz-tree in the samestate as in FIGS. 79-81, but with hand-pointer cursor 95 over unrevealedclue 220D, displaying text bubble 760D. Because clue 220D is unrevealedin this hypothetical example, only a mask (hiding the word “McFly”) isshow in text bubble 760D.

FIG. 83 shows the quiz navigator with the same quiz-tree in the samestate as in FIGS. 79-82, but with hand-pointer cursor 95, overunrevealed clue 230A1, displaying text bubble 760E. Because clue 230A1is unrevealed, only a mask (hiding the phrase “Marty McFly”) is shown intext bubble 760E.

FIG. 84 shows the quiz navigator with the same quiz-tree in the samestate as in FIGS. 79-83. FIG. 84 continues the previous hypotheticalsequence. Hand-pointer cursor 95 is placed over text bubble 760E and themouse button is clicked. This action makes text bubble 760E visible whenthe hand-pointer cursor 95 is not on top of clue 230A1, as shown in FIG.85 (clue 230A1 is behind text bubble 760E).

In FIG. 85, the convention of FIG. 1 is broken somewhat in that linesare not all connected node-to-node. The line from first quiz-able-word220C joins to the first masked word 761 of text bubble 760E to indicatethat 220C belongs to the first word of 760E. Likewise, the line fromsecond quiz-able-word 220D joins to the second masked word 762 of textbubble 760E. Since phrase clue 740 belongs to the entire phrase maskedin text bubble 760E, it is connected to the text bubble border. Colorcoding could also be used to increase the clarity of the relationshipsin the quiz navigator window.

Also show in FIG. 85 is a quiz navigator cross-hair 765. This is asymbol that indicates which clue or node of the quiz-tree is active atany moment of time. The quiz navigator and the phrase component areshown in a consolidated view in FIG. 95. The quiz navigator and phrasecomponent can be integrated. For example, double-clicking a node in thequiz navigator displays the cross-hair over it, and makes that nodeactive in the phrase component as well. The cross-hair is dropped fromthe remaining figures in this sequence.

FIG. 86 shows the quiz navigator with the same quiz-tree in the samestate as FIGS. 79-85. Hand-pointer cursor 95 is over unrevealed clue220A, displaying a mask (hiding the word “fly”) in text bubble 760F,while text bubble 760E remains visible.

FIG. 87 shows the quiz navigator with the same quiz-tree in the samestate as FIGS. 79-86. Hand-pointer cursor 95 is over sample top-levelphrase 1410, displaying a mask (hiding the phrase “A fly in theointment”) in text bubble 760G. Text bubble 760G is cut off by theborder of the quiz navigator. Text bubble 760E remains visible.Unrevealed clue 220A is temporarily covered up; although the quiznavigator could be designed to display it with a faint outline overlainby text bubble 760G, or by repositioning 760G.

FIG. 88 shows an expanded view of menu bar 720 of the quiz navigator.Shown are view (“View”) and option (“Option”) menus 722 and 724respectively. Under option menu 722 are menu items “Show Selected Clues. . . ” 725 and “Show All Clues . . . ” 726. The discussion of FIGS. 83and 84 presumes that menu item 725 had been selected. When menu item 726is selected with arrow cursor 99, FIG. 89 is displayed. FIG. 89 showsthe quiz navigator in a slightly expanded window. All the revealed andunrevealed node content from first quiz-able-word 220A and below areshown in their respective text bubbles. Also shown is text bubble 760Gfor sample top-level phrase 1410. FIG. 89 includes text bubble 760H forfirst quiz-able-word 220C, which shows the mask for the word “Marty”.

FIG. 90 shows an expanded view of menu bar 720 of the quiz navigator.Under view menu 722 are “Branch View . . . ” and “Folder View . . . ”menu items 727 and 728 respectively. FIGS. 79-89 presume that menu item727 had been selected. Clicking on menu item 728 with arrow cursor 99changes the quiz navigator from “branch mode” to “folder mode”. Foldermode of the quiz navigator is depicted in FIGS. 91-95. Other embodimentscould use a UNIX or DOS path file nomenclature or some other method fordisplaying the hierarchy.

FIGS. 91-93 show the quiz navigator with the same quiz-tree in the samestate as FIGS. 79-89 but in folder mode. FIG. 91 shows at the top-levela folder icon and name 770 for sample top-level phrase 1410. One levelbeneath 770 are folder icons and names 772, 774 and 776 for first,second and third filler-words 218A, 218B and 218C respectively. Also onelevel beneath 770 are folder icons and names 780 and 790 for first andsecond quiz-able-words 220A and 220B respectively. A “plus” (“+”) sign791 indicates that a folder can be expanded to reveal additional quizinformation. Clicking a mouse button with arrow cursor 99 over the 791of 780 expands the folder as shown in FIG. 92.

FIG. 92 shows an open folder icon and name 780A for first quiz-able-word220A. One folder level below is the folder icon and name 782 for firstquiz-able-word's first clue 230A1. Clicking a mouse button with arrowcursor 99 over 791 of 782 expands the folder as shown in FIG. 93.

FIG. 93 shows an open folder icon and name 782A for firstquiz-able-word's first clue 230A1. One folder-level below is a foldericon and name 784 for phrase clue 740, a folder icon and name 786 forfirst quiz-able-word 220C, and a folder icon and name 788 for secondquiz-able-word 220D.

FIG. 94 shows an open folder icon and name 786A for first quiz-able-word220C. One folder level below is a folder icon and name 787 for clue tofirst quiz-able-word 750. Open folder icon and name 788A for secondquiz-able-word 220D has below it folder icon and name 789 for clue tosecond quiz-able-word 752.

FIG. 95 depicts components of the user interface as they appear in anintegrated display. The integrated display includes the phrase component9512 with a title bar 9510, the quiz navigator component 9540 (shown ifFIG. 85), a score-and-control component 9530, and amatch-parameters-display component 9550. Other display components areminimized and available for selection by selecting a correspondingbutton.

A “Pause/Quit Match” component (not shown) can be displayed with a“Pause/Quit Match” button 9560. A “Score and Control” component button9562, shown as grayed to indicate it has been selected, displaysscore-and-control component 9530. A “Match Parameters” component button9564, shown as grayed to indicate it has been selected, displaysmatch-parameters-display component 9550. A quiz navigator componentbutton 9566, shown as grayed to indicate it has been selected, displaysquiz navigator component 9540. A “Match History” component button 9568,shown as grayed to indicate it has been selected, displays a “MatchHistory” component (not shown). A phrase component button 9570, shown asgrayed to indicate it has been selected, displays phrase component 9512.A “My Player Console” button 9572 displays a “My Player Console” (notshown). A “Chat” button 9574 displays a chat component (not shown).

ADVANTAGES

From the description above, a number of advantages of some embodimentspresented become evident:

-   -   a. A novel user interface is devised for playing quiz games with        multiple logical-levels of quiz-solving. This novelty also        applies to alternative embodiments where the answer to a lower        clue/answer pair is not necessarily equivalent to or necessarily        related to a clue to an upper clue/answer pair that is revealed        by the solution of the lower answer.    -   b. These embodiments are intellectually stimulating and        entertaining to play. They provide participants with a new        recreational activity.    -   c. A tree-formulator means is devised for associating raw quiz        data into quiz structures that can be persisted and played by        many different players at many different times. This supports        embodiments that can maintain a high degree of novelty. It also        encourages embodiments that are both highly ubiquitous and        accessible.    -   d. A framework is devised for facilitating the creation of quiz        structures, specifically described as quiz-trees. This framework        can include varying degrees of automation. This allows novelty        to be constantly infused into the game by the addition of new        quiz-trees.    -   e. A framework for customizing quiz structures based on numerous        parameters is devised. These parameters will include such things        as quiz-tree depth, the number of clues allowed or required        under a related answer, difficulty, and category. Enhancements        include the updating of a quiz database with player data to        update quiz-tree and sub-quiz difficulty ratings.    -   f. Customization can include personalization, such that players        can create their own quiz structures and insert their own        phrases and quizzes, further increasing novelty.    -   g. A frameword that facilitates customization of quiz structures        also facilitates the creation of quiz structures suited to        predictable approximate match durations. Popular quest-type        games in the prior art may lead to futility by not having a        demarcated beginning and end. However, the quiz structures are        generally discreet and highly customized. This lends to        embodiments that will maintain their novelty and yet fit within        a balanced lifestyle shared by a broad community of players.    -   h. When embodiments with alternative quiz-data sources,        quiz-types, and media types are considered, the potential for        sustained novelty becomes even greater.    -   i. The multi-player embodiments in particular lend to a rapidly        expanding demand for social networking and community-based games        and applications. Embodiments facilitate friends interacting        online in a healthy, socially-positive manner.    -   j. A runtime means is devised to allow players to play the        embodiments with electronic gaming devices over the Internet to        provide a high degree of accessibility.    -   k. A distributed architecture permits a high degree of        scalability, accessibility and ubiquity to provide the game to a        vast number of players with worldwide distribution. At the same        time, there is potential for very low latency in the        development, distribution, and enhancement of quiz structures.    -   l. The embodiments are inherently educational. Playing the        embodiments can increase the knowledge and associative ability        of participants. Quiz and category selection can be adapted for        different subjects, ages, and grade or course levels. A        high-degree of customizability allows for the development of        quiz structures that support highly custom curricula. Specific        text book data and other curricula can provide the raw quiz        data. The features that promote sustained novelty further        enhance a learning context for the embodiments by making        learning fun.    -   m. Many classical non-computer games have been adapted into        computer and Internet games in the prior art. In some cases, the        historical games have been modified and combined with one        another. In contrast, the present embodiments take advantage of        advances in computer hardware, software, programming        technologies, and the Internet along with high-speed access to        it, to devise an entirely new type of game. The present and        future embodiments can take full advantage of these        technological advances. This approach lends to a game that is        highly feature-rich, accessible and ubiquitous. These        embodiments also hold promise for a sustained, high degree of        novelty.

CONCLUSION, RAMIFICATIONS, AND SCOPE

As can be seen from the present embodiments, A QNQ may:

-   -   a. offer player control over which sub-quizzes are selected and        the order of their selection;    -   b. contain different quiz types in the same puzzle;    -   c. contain different media types in the same puzzle;    -   d. be offered in single-user and multi-player embodiments;    -   e. include special rules for answering quizzes and for        determining and passing control in multi-player embodiments;    -   f. include a scoring system.

A QNQ is supported by a system that can be used to manage:

-   -   a. persistent storage of quiz-structures, including node and        associated data, unless an embodiment creates the structures        exclusively at runtime;    -   b. runtime program structures, methods and states of quiz-trees        and their nodes;    -   c. connectivity between distributed components;    -   d. the presentation of the user interface in single-user and        multi-user modes and embodiments;    -   e. the presentation of quiz, score, player, game state and other        data to the user interface in single-user and multi-user        embodiments;    -   f. match control and answering rules.

A QNQ system can also include functionality to:

-   -   a. input, store and manage expressions that facilitate the        creation of quiz-trees;    -   b. create, update and customize quiz-trees;    -   c. establish a match by inviting players and setting match        parameters;    -   d. administer a match in progress;    -   e. define different roles within the system and assign persons        to roles;    -   f. allow players to customize their player accounts;    -   g. manage history and difficulty information about quizzes and        quiz-trees;    -   h. incorporate statistical history and difficulty information        into new matches;    -   i. support integration with communication tools and        community-ware;    -   j. support integration with payment, advertising and marketing        infrastructures;    -   k. support massive multiplayer online gaming for many        simultaneous matches in progress;    -   l. distribute access to certain system functionality to various        roles or persons, including the participants.

While my above description contains many specificities, these should notbe construed as limitations on the scope of the invention, but rather asan exemplification of the embodiments thereof. A myriad of variationsare possible. Selection means could be provided to eliminate characterinput. In the detailed embodiment, node-level four could be removed andthe trivia-quiz answers could occupy the lowest clue level.Multiple-choice-trivia quizzes could be used in the main embodiment.Alternate user interface components, architectures, quiz and mediatypes, and player forums are possible. Media types include video,pictures and audio. Alternate data structures, data sources, and meansfor relating and organizing quiz data are possible. Data for quizstructures could be taken from news and journal feeds and other onlineand offline sources. Linear quiz-chains could be used as opposed totrees.

Many enhancements for creating quiz-trees or other logical structuresare possible. For example, node-levels devised or possible in thelogical quiz structure could be skipped over in the interface to createanother type of challenge. Other embodiments might not requirepersistent storage of quiz structures and nodes; rather, quiz structurescould be assembled at runtime. Quiz structures might be assembled justprior to the initiation of play. They might also be defined andredefined during play. In such cases, their data might be persistentonly in the context of the current iteration or not at all. Indiscreetembodiments without defined end-nodes are possible. Embodiments thatintegrate with other applications, such as community ware are possible.Other modes of play, such as having a simulated opponent, are possible.Television or Internet broadcast game show formats are possible. Astudio broadcast combined with interactive play by non-studioparticipants is possible. Audio embodiments are possible where the focusis to present clues in music. Speech recognition selection and otheralternative input means are possible. Accordingly, the scope of theinvention should be determined not by the embodiments illustrated, butby the appended claims and their legal equivalents.

1. A quiz game played by one or by one or more players, comprising: (a)a plurality of clues; (b) a plurality of answers; (c) a plurality ofclue/answer pairs, each comprising: i. one of said clues, and ii. one ofsaid answers; (d) a system means, which system means will: i. reveal aclue comprised by a specific clue/answer pair, termed a lowerclue/answer pair, to said player(s); ii. allow a player from among saidplayer(s) to provide a guess at said answer comprised by said lowerclue/answer pair; iii. accept said guess at said answer comprised bysaid lower clue/answer pair; iv. validate said guess at said answercomprised by said lower clue/answer pair to determine a validationresult; v. depending on said validation result, reveal a clue comprisedby a specific clue/answer pair, termed the upper clue/answer pair, tosaid player(s), whereby a guess at said answer comprised by said lowerclue/answer pair may yield a clue to said upper answer comprised by saidupper clue/answer pair.
 2. The quiz game of claim 1, wherein said answercomprised by said lower clue/answer pair, and said clue comprised bysaid upper clue/answer pair are related.
 3. The quiz game of claim 1,wherein said answer comprised by said lower clue/answer pair, and saidclue comprised by said upper clue/answer pair are equivalent.
 4. Thequiz game of claim 1, wherein said system means will further: (a)provide an indication of said answer comprised by said upper clue/answerpair to said player(s); (b) provide a selector means to allow saidplayer(s) to select said clue comprised by said lower clue/answer pair;(c) attach said selector means to said indication of said answercomprised by said upper clue/answer pair, whereby said player(s) may usesaid selector means attached to said indication of said answer comprisedby said upper clue/answer pair to select said clue comprised by saidlower clue/answer pair.
 5. The quiz game of claim 4, wherein said systemmeans includes one or more electronic gaming devices.
 6. The quiz gameof claim 5, wherein said system means further comprises a computerprogram means to associate said answer comprised by said lowerclue/answer pair with said clue comprised by said upper clue/answerpair.
 7. The quiz game of claim 1, wherein said system means includesone or more electronic gaming devices.
 8. The quiz game of claim 1,wherein said system means includes one or more computers.
 9. The quizgame of claim 1, wherein said system means further comprises apersistent computer storage means to associate said answer comprised bysaid lower clue/answer pair with said clue comprised by said upperclue/answer pair, and to associate one of said clues with one of saidanswers for each of said plurality of clue/answer pairs.
 10. The quizgame of claim 1, wherein said system means further comprises a runtimecomputer program means to associate said answer comprised by said lowerclue/answer pair with said clue comprised by said upper clue/answerpair, and to associate one of said clues with one of said answers foreach of said plurality of clue/answer pairs.
 11. A method for providinga quiz with linked quiz levels, played for learning and/or entertainmentby one or by one or more players, comprising: (a) providing a quizstructure and supporting system means, comprising: i. providing aplurality of information fragments, and ii. providing a plurality ofnodes, which comprises assigning a unique identifier to an informationfragment for a multiplicity of information fragments from among saidplurality of information fragments, using an identification means, andiii. associating three or more of said nodes into a node chain, whereina first node is associated to a second node by an association means andsaid second node is associated to a third node by an association means,and (b) providing a user interface and supporting system means, whichwill: i. provide a first exposure means for exposing said informationfragment comprised by said third node to said player(s), and ii. providea second exposure means for exposing said information fragment comprisedby said second node to said player(s), and iii. provide a first guessingmeans by which said player(s) can provide a second-node guess at saidinformation fragment comprised by said second node, and iv. provide afirst validation means for validating said second-node guess, whichyields a second-node validation result, and v. depending on saidsecond-node validation result, use said second exposure means to exposesaid second node, whereby at least three node levels are related toprovide at least two linked quiz levels.
 12. The method of claim 11,wherein said user interface and supporting system means will further: i.provide a third exposure means for exposing said information fragmentcomprised by said first node to said player(s), and ii. provide a secondguessing means by which said player(s) can provide a first-node guess atsaid information fragment comprised by said first node, and iii. providea second validation means for validating said first-node guess, whichyields a first-node validation result, and iv. depending on saidfirst-node validation result, use said third exposure means to exposesaid first node.
 13. The method of claim 12, wherein said user interfaceand supporting system means will further: i. provide an indicator meansfor providing an indication of said first node to said player(s), andii. provide a selector means for allowing said player(s) to expose saidthird node using said first exposure means, and iii. provide anattachment means for attaching said selector means to said indication ofsaid first node, whereby said player(s) may use said selector meansattached to said indication of said first node to expose said thirdnode.
 14. The method of claim 13, wherein said user interface andsupporting system means further comprises one or more electronic gamingdevices.
 15. The method of claim 12, wherein said quiz structure andsupporting system means further comprises a persistent computer storagemeans.
 16. The method of claim 12, wherein said quiz structure andsupporting system means further comprises a runtime computer programmeans.
 17. The method of claim 12, wherein said user interface andsupporting system means further comprises one or more electronic gamingdevices.
 18. A quiz game, played by one or more players, for providingentertainment, and/or for testing knowledge, and/or for enhancing thegeneral knowledge and associative ability of a player, said quiz gamecomprising: (a) a plurality of quizzes, each comprising: i. one or moreclues, each of said clues having a content comprising data, and ii. acorollary answer to said clue or clues, said answer having a contentcomprising data, and (b) an upper quiz from among said plurality ofquizzes, and (c) a lower quiz from among said plurality of quizzes, and(d) an association means for associating said upper quiz and said lowerquiz, wherein the content of said corollary answer of said lower quiz isequivalent to the content of a specific clue belonging to said upperquiz, whereby said quiz game includes two related quizzes comprising twoquiz levels.
 19. The quiz game of claim 18, wherein said associationmeans further includes a computer program means.
 20. The quiz game ofclaim 18, further comprising one or more electronic gaming devices. 21.The quiz game of claim 18, further comprising a third quiz from amongsaid plurality of quizzes, wherein said association means furtherincludes a means for associating said upper quiz with said third quiz,wherein the content of said corollary answer of said upper quiz isequivalent to the content of a specific clue belonging to said thirdquiz, whereby said quiz game includes three related quizzes comprisingthree quiz levels.
 22. The quiz game of claim 18, wherein saidassociation means comprises a recursive association means, saidrecursive association means being able to associate an indefinite numberof additional quizzes, wherein said upper quiz exists as a lower quiz inrespect to an additional quiz, which additional quiz exists as an upperquiz in respect to it, whereby said quiz game includes an indefinitenumber of related quizzes comprising an indefinite number of quizlevels.